Status: Development (expect bug fixes, minor updates and new environments)
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.
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. Returnsobservation
.step(self, action)
: Step the environment by one timestep. Returnsobservation
,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 theclose
flag signals the renderer to close any such windows.
There are two main options for the installation of scigym
:
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]
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']
At this point we have the following environments available for you to play with:
- 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 :)