Skip to content

SciGym: A curated library of scientific reinforcement learning environments.

License

Notifications You must be signed in to change notification settings

HendrikPN/scigym

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

89 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Status: Development (expect bug fixes, minor updates and new environments)

SciGym

SciGym is a curated library for reinforcement learning environments in science. This is the scigym open-source library which gives you access to a standardized set of science environments. Visit our webpage at scigym.ai. This website serves as a open-source database for science environments: A port where science and reinforcement learning meet.

See What's New section below

Basics

This project is in line with the policies of the OpenAI gym:

There are two basic concepts in reinforcement learning: the environment (namely, the outside world) and the agent (namely, the algorithm you are writing). The agent sends actions to the environment, and the environment replies with observations and rewards (that is, a score).

The core gym interface is Env, which is the unified environment interface. There is no interface for agents; that part is left to you. The following are the Env methods you should know:

  • reset(self): Reset the environment's state. Returns observation.
  • step(self, action): Step the environment by one timestep. Returns observation, reward, done, info.
  • render(self, mode='human', close=False): Render one frame of the environment. The default mode will do something human friendly, such as pop up a window. Passing the close flag signals the renderer to close any such windows.

Installation

There are two main options for the installation of scigym:

(a) minimal install (recommended)

This method allows you to install the package with no environment specific dependencies, and later add the dependencies for specific environments as you need them.

You can perform a minimal install of scigym with:

pip install scigym

or

git clone https://github.com/hendrikpn/scigym.git
cd scigym
pip install -e .

To later add the dependencies for a particular environment_name, run the following command:

pip install scigym[environment_name]

or from the folder containing setup.py

pip install -e .[environment_name]

(b) full install

This method allows you to install the package, along with all dependencies required for all environments. Be careful, scigym is growing, and this method may install a large number of packages. To view all packages that will be installed during a full install, see the requirements.txt file in the root directory. If you wish to perform a full installation you can run:

pip install scigym['all']

or

git clone https://github.com/hendrikpn/scigym.git
cd scigym
pip install -e .['all']

Available Environments

At this point we have the following environments available for you to play with:

What's New

  • 2021-06-16 Added the Toric Game environment
  • 2021-06-09 Added entangled-ions environment.
  • 2021-06-08 This is scigym version 0.0.3! Now compatible with gym version 0.18.0
  • 2019-10-10 scigym.ai is online!
  • 2019-08-30 This is scigym version 0.0.2!
  • 2019-08-30 scigym is now available as a package on PyPI.
  • 2019-08-06 Added Travis-CI.
  • 2019-08-06: Added teleportation environment.
  • 2019-07-21: Added standardized unit testing for all scigym environments.
  • 2019-03-04: Added surfacecode environment.
  • 2019-02-09: Initial commit. Hello world :)

About

SciGym: A curated library of scientific reinforcement learning environments.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •  

Languages