Cogment is an innovative open source AI platform designed to leverage the advent of AI to benefit humankind through human-AI collaboration developed by AI Redefined. Cogment enables AI researchers and engineers to build, train and operate AI agents in simulated or real environments shared with humans. For the full user documentation visit https://docs.cogment.ai
🚧 This repository is under construction, it propose a library of environments and agent implementations to get started with Human In the Loop Learning (HILL) and Reinforcement Learning (RL) with Cogment in minutes. Cogment Verse is designed both for practionners discovering the field as well as for experienced researchers or engineers as an framework to develop and benchmark new approaches.
Cogment verse includes environments from:
- Getting started
- Tutorials 🚧
- Experimental results 🚧
- Develop 🚧
- Changelog
- Contributors guide
- Community code of conduct
- Acknowledgments
- Clone this repository
- Install the following dependencies:
- Python 3.9 or above,
- Node.JS v14 or above,
parallel
, on ubuntu it is installable usingapt-get install parallel
, on mac it is available throughbrew install parallel
,unrar
, on ubuntu it is installable usingapt-get install unrar
, on mac it is available throughbrew install unrar
.
./run.sh build
./run.sh services_start
- In a different terminal, start the trials with
./run.sh client start <run-name>
. Different run names can be found inrun_params.yaml
- (Optional) To launch webclient, run
./run.sh web_client_start
in a different terminal. Open http://localhost:8000 to join or visualize trials
You can monitor ongoing run using mlflow. By default a local instance of mlflow is started by cogment-verse and is accessible at http://localhost:3000.
Some of the availabe run involve a human player,
for example benchmark_lander_hill
enables a human player
to momentarily take control of the lunar lander to help the
AI agents during the training process.
Then start the run
./run.sh client start benchmark_lander_hill
Access the playing interface by launching a webclient with
./run.sh web_client_start
and navigating to http://localhost:8000
The play
run implementation can be used to have any actor play in any environment. 3 example run parameters are provided:
headless_play
instanciates any agents and start a number of trials.
./run.sh client start headless_play
observe
instanciates any agents and start a number of trials with a human observer through the webclient.
./run.sh client start observe
play
instanciates let a human player play in a supported environment.
./run.sh client start play
They can be inspected and adapted to your needs in run_params.yaml
:
The subdirectories /tf_agents/cogment_verse_tf_agents/third_party
and /torch_agents/cogment_verse_torch_agents/third_party
contains code from third party sources
hive
: Taken from the Hive library by MILA/CRLtd3
: Taken form the authors' implementation