Framework for developing FractalAI based algorithms.
Project description
Fragile
This repository is under active development.
Fragile is a framework for developing algorithms inspired by the Fractal AI theory and testing them at scale.
About FractalAI
FractalAI is based on the framework of non-equilibrium thermodynamics, and It allows to derive new mathematical tools for efficiently exploring state spaces.
The principles of our work are accessible online:
- Arxiv manuscript describing the fundamental principles of our work.
- Blog that describes our early research process.
- Youtube channel with videos showing how different prototypes work.
- GitHub repository containing a prototype that solves most Atari games.
Getting started
Check out the Getting started with Atari games section of the docs, or check out the examples folder.
Running in docker
The docker container will execute a Jupyter notebook accessible on port 8080 with password: fragile
make docker build
docker run -d -p 8080:8080 -v PATH_TO_REPO/fragile fragile
You can also run the tests inside the docker container
make docker-test
Installation
This framework has been tested in Ubuntu 18.04 and supports Python 3.6, 3.7 and 3.8. If you find any problems running it in a different OS or Python version please open an issue.
It can be install with pip install fragile
.
Building from source
Please take a look at the Dockerfile to find out about all the dependencies, and the detailed installation process.
git clone https://github.com/FragileTech/fragile.git
cd fragile
pip3 install -r requirements.txt
pip3 install -r requirements-viz.txt
pip3 install -e .
Documentation
You can access the documentation on GitHub Pages.
- Building the documentation:
cd fragile/docs
make html
- Accessing the documentation locally:
- Launch an http server:
cd build/html # assuming you are inside fragile/docs python3 -m http.server
- Visit http://0.0.0.0:8000 to display the documentation.
Roadmap
- Document and test the
ray
module. Write example notebook - Document and refactor Montezuma solver
- Improve tests coverage (currently 153 for the
core
andoptimize
modules) - Add new algorithms to sample different state spaces.
- Add a module to generate data for training deep learning models
- Add a benchmarking module
- Add deep learning API
Contributing
Contribution are welcome. Please take a look at contributining and respect the code of conduct.
Cite us
If you use this framework in your research please cite us as:
@misc{1803.05049,
Author = {Sergio Hernández Cerezo and Guillem Duran Ballester},
Title = {Fractal AI: A fragile theory of intelligence},
Year = {2018},
Eprint = {arXiv:1803.05049},
}
License
This project is currently licensed under AGPLv3.0.
However, if you are considering using it for applications that require a more permissive license, please let me know in this Issue
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
File details
Details for the file fragile-0.0.27-py3-none-any.whl
.
File metadata
- Download URL: fragile-0.0.27-py3-none-any.whl
- Upload date:
- Size: 111.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/45.2.0 requests-toolbelt/0.9.1 tqdm/4.43.0 CPython/3.6.10
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 697d50877b286e7b76ce5ff2c33b2d898e4c0682a1789b15737828c795e1d2ee |
|
MD5 | 34f0dd1f29ee9be6ba77cc86e2c222bc |
|
BLAKE2b-256 | 063de72e5615f7110f2227260a24016f64cf0a9465a83d40e14d16a323532fca |