Skip to main content

Framework for developing FractalAI based algorithms.

Project description

Fragile

Travis build status Code coverage PyPI package Latest docker image Code style: black license: AGPL v3 unstable

Fragile is a framework for developing algorithms inspired by the Fractal AI theory and testing them at scale.

Features

  • Provides classes and an API for easily developing planning algorithms
  • Provides an classes and an API for function optimization
  • Build in visuzalizations of the sampling process
  • Fully documented and tested
  • Support for parallelization and distributed search processes

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      
    

Roadmap

Upcoming features: (Not necessary in order)

  • Add support for saving visualizations.
  • Fix documentation and add examples for the distributed module
  • Upload Montezuma solver
  • 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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

fragile-0.0.29-py3-none-any.whl (114.4 kB view details)

Uploaded Python 3

File details

Details for the file fragile-0.0.29-py3-none-any.whl.

File metadata

  • Download URL: fragile-0.0.29-py3-none-any.whl
  • Upload date:
  • Size: 114.4 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

Hashes for fragile-0.0.29-py3-none-any.whl
Algorithm Hash digest
SHA256 9fe821429a41d575562e8437c68e485365af2491784a4c0b2fc047576838b752
MD5 746be7e01a198e074cf44a64bdf2f1f4
BLAKE2b-256 5a1a2a34831b751b5aa88809253d3b039a6b79159beca2ae158ed02e628001a6

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page