Skip to main content

The AI framework for Reinforcement Learning, Automated Planning and Scheduling

Project description

                _  __    _  __              __             _      __    
   _____ _____ (_)/ /__ (_)/ /_        ____/ /___   _____ (_)____/ /___ 
  / ___// ___// // //_// // __/______ / __  // _ \ / ___// // __  // _ \
 (__  )/ /__ / // ,<  / // /_ /_____// /_/ //  __// /__ / // /_/ //  __/
/____/ \___//_//_/|_|/_/ \__/        \__,_/ \___/ \___//_/ \__,_/ \___/

actions status version stars forks


Scikit-decide for Python

Scikit-decide is an AI framework for Reinforcement Learning, Automated Planning and Scheduling.

Installation

1. Make sure to have a Python 3.7+ environment

The use of a virtual environment for scikit-decide is recommended, e.g. by using conda:

On MacOS/Linux:

python3 -m venv /path/to/new/virtual/environment
source /path/to/new/virtual/environment/bin/activate

On Windows:

py -m venv \path\to\new\virtual\environment
\path\to\new\virtual\environment\Scripts\activate

2. Quick install [Recommended]

pip3 install -U pip
pip3 install scikit-decide[all]

3. Install from source

pip3 install -U pip
curl -sSL https://raw.githubusercontent.com/python-poetry/poetry/master/get-poetry.py | python
git clone --recurse-submodules -j8 https://github.com/Airbus/scikit-decide.git
cd scikit-decide
poetry install --no-root --extras all
poetry build 

Documentation

Online

The latest documentation is available online.

Locally

You can also run the documentation locally (e.g. when you are contributing to it or to access an older version).

1. Install the documentation

The documentation is using VuePress to generate an interactive static website.

First, get Yarn (package manager) by following these installation steps.

Make sure you are in the "scikit-decide" root directory and install documentation dependencies:

cd YOUR_LOCAL_PATH_TO_GIT_CLONED_SKDECIDE
yarn install

2. Access the documentation

Make sure you are in the "scikit-decide" root directory and start the local documentation server:

cd YOUR_LOCAL_PATH_TO_GIT_CLONED_SKDECIDE
yarn docs:dev

Open your web browser to access the documentation (by default on http://localhost:8080).

Examples

The examples can be found in the /examples folder, showing how to import or define a domain, and how to run or solve it. Most of the examples rely on scikit-decide Hub, an extensible catalog of domains/solvers.

Some examples are automatically embedded as Python notebooks in the Examples section of the documentation.

Playground

The best example to try out scikit-decide capabilities might be examples/full_multisolve.py. This interactive console experience makes it easy to pick a domain among a pre-defined catalog selection:

  • Simple Grid World
  • Maze
  • Mastermind
  • Cart Pole (OpenAI Gym)
  • Mountain Car continuous (OpenAI Gym)
  • ATARI Pacman (OpenAI Gym)

...and then solve it with any compatible solver (detected automatically) among following selection:

  • Random walk
  • Simple greedy
  • Lazy A* (classical planning)
  • PPO: Proximal Policy Optimization (deep reinforcement learning)
  • POMCP: Partially Observable Monte-Carlo Planning (online planning for POMDP)
  • CGP: Cartesian Genetic Programming (evolution strategy)
  • IW: Iterated Width search (width-based planning)

Note: some requirements declared in above solvers still need fine-tuning, so in some cases an auto-detected compatible solver may still be unable to solve a domain (for now).

These combinations are particularly efficient if you want to try them out:

  • Simple Grid World -> Lazy A*
  • Maze -> Lazy A*
  • Mastermind -> POMCP: Partially Observable Monte-Carlo Planning
  • Cart Pole -> PPO: Proximal Policy Optimization
  • Mountain Car continuous -> CGP: Cartesian Genetic Programming
  • ATARI Pacman -> Random walk

Warning: some domains/solvers might require extra manual setup steps to work at 100%. In the future, each scikit-decide hub entry might have a dedicated help page to list them, but in the meantime please refer to this:

  • [domain] OpenAI Gym ones -> gym for loading Gym environments not included by default
  • [solver] PPO: Proximal Policy Optimization -> see Stable Baselines installation
  • [solver] IW: Iterated Width search (same for AOstar, Astar, BFWS) -> special C++ compilation (see Installation 2.c. above)

Unit tests

Pytest is required to run unit tests (pip install pytest).

Make sure you are in the "scikit-decide" root directory and run unit tests (the "-v" verbose mode is optional but gives additional details):

cd YOUR_LOCAL_PATH_TO_GIT_CLONED_SKDECIDE
poetry run pytest -vv -s tests/solvers/cpp

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 Distributions

If you're not sure about the file name format, learn more about wheel file names.

scikit_decide-0.9.2-cp38-cp38-win_amd64.whl (15.2 MB view details)

Uploaded CPython 3.8Windows x86-64

scikit_decide-0.9.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (16.8 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ x86-64

scikit_decide-0.9.2-cp38-cp38-macosx_10_15_x86_64.whl (14.7 MB view details)

Uploaded CPython 3.8macOS 10.15+ x86-64

scikit_decide-0.9.2-cp37-cp37m-win_amd64.whl (15.2 MB view details)

Uploaded CPython 3.7mWindows x86-64

scikit_decide-0.9.2-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (16.8 MB view details)

Uploaded CPython 3.7mmanylinux: glibc 2.17+ x86-64

scikit_decide-0.9.2-cp37-cp37m-macosx_10_15_x86_64.whl (14.6 MB view details)

Uploaded CPython 3.7mmacOS 10.15+ x86-64

File details

Details for the file scikit_decide-0.9.2-cp38-cp38-win_amd64.whl.

File metadata

  • Download URL: scikit_decide-0.9.2-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 15.2 MB
  • Tags: CPython 3.8, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.2 CPython/3.9.6

File hashes

Hashes for scikit_decide-0.9.2-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 abdf7d643377f217fe37d67c8f752691ed5c817934be2a4f50e4c1c5547e32e1
MD5 b3f1d22a2864450e8e3249c89ca4df46
BLAKE2b-256 57ee7369f902b0dc2b8f2e32f0ad20ae3b2f60e2e5575b22a6521267cc6f0d9b

See more details on using hashes here.

File details

Details for the file scikit_decide-0.9.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for scikit_decide-0.9.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 1e046b90ba17c472112433dc63aff0885fe7b1d61fc669f6a15ba0f7f7699615
MD5 a82d76873c0d6f356c6a9ed2bc82db32
BLAKE2b-256 2b81b56250801975c17d18ce8fb44faf104a3a196f40f989d5575408fdecab52

See more details on using hashes here.

File details

Details for the file scikit_decide-0.9.2-cp38-cp38-macosx_10_15_x86_64.whl.

File metadata

  • Download URL: scikit_decide-0.9.2-cp38-cp38-macosx_10_15_x86_64.whl
  • Upload date:
  • Size: 14.7 MB
  • Tags: CPython 3.8, macOS 10.15+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.2 CPython/3.9.6

File hashes

Hashes for scikit_decide-0.9.2-cp38-cp38-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 0c597a0c0606e4fd7af089146661b692661eb9eed0737f393fb5b9ebe22649c8
MD5 09e909afb21d8dcc8ef394b0df96bea2
BLAKE2b-256 7da7b9ea1856e35c9ef95091fdbe720e77b803e4af95d3a98a916fab48869886

See more details on using hashes here.

File details

Details for the file scikit_decide-0.9.2-cp37-cp37m-win_amd64.whl.

File metadata

  • Download URL: scikit_decide-0.9.2-cp37-cp37m-win_amd64.whl
  • Upload date:
  • Size: 15.2 MB
  • Tags: CPython 3.7m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.2 CPython/3.9.6

File hashes

Hashes for scikit_decide-0.9.2-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 a113c60d3d7a7d9d307cafc6f2df07ef3a946121483a5bc4ecbb9877bcc22242
MD5 e990182e489764d2e04fda2486cdc67f
BLAKE2b-256 ff2c2560e0f1ae8e4be43fdb5eafe38092053ea7c8b43224cffa004984feaf01

See more details on using hashes here.

File details

Details for the file scikit_decide-0.9.2-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for scikit_decide-0.9.2-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 f2f35b1e257a296db66b9d6f4b1ab610d1cc278448ff190c178297e6b99b0cf3
MD5 d45feac128ebda91173e2912fa9178a9
BLAKE2b-256 04cbfefb51bd7d8200a469dc735637c6461024e7e4908bb9fb00128566b10d54

See more details on using hashes here.

File details

Details for the file scikit_decide-0.9.2-cp37-cp37m-macosx_10_15_x86_64.whl.

File metadata

  • Download URL: scikit_decide-0.9.2-cp37-cp37m-macosx_10_15_x86_64.whl
  • Upload date:
  • Size: 14.6 MB
  • Tags: CPython 3.7m, macOS 10.15+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.2 CPython/3.9.6

File hashes

Hashes for scikit_decide-0.9.2-cp37-cp37m-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 2d320b9f49d8ec5ac2f73c8d767dfcf8f748b561f2d8325218302c228a9236fe
MD5 70263a772c65582d21b99f3309c3e66b
BLAKE2b-256 473e2770781374d38000e569438cb785829242b6650c0d57f97c7545e8d4bed8

See more details on using hashes here.

Supported by

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