kakaoenterprise / JORLDY

Repository for Open Source Reinforcement Learning Framework JORLDY
Apache License 2.0
362 stars 49 forks source link
framework gym mlagents pytorch reinforcement-learning

JORLDY (Beta)

license badge

Hello WoRLd!!:hand: Join Our Reinforcement Learning framework for Developing Yours (JORLDY) is an open-source Reinforcement Learning (RL) framework provided by KakaoEnterprise. It is named after Jordy, one of the Kakao Niniz character. It provides various RL algorithms and environment and they can be easily used using single code. This repository is opened for helping RL researchers and students who study RL.

:fire: Features

:heavy_check_mark: Tested

Python Windows Mac Linux
3.8
3.7
Windows Server 2022 macOS Big Sur 11
macOS Catalina 10.15
Ubuntu 20.04
Ubuntu 18.04

:arrow_down: Installation

git clone https://github.com/kakaoenterprise/JORLDY.git  
cd JORLDY
pip install -r requirements.txt

# linux
apt-get update 
apt-get -y install libgl1-mesa-glx # for opencv
apt-get -y install libglib2.0-0    # for opencv
apt-get -y install gifsicle        # for gif optimize

:whale: To use docker

(customize if necessary)

cd JORLDY

docker pull jorldy/jorldy

# mac, linux
docker run -it --rm --name jorldy -v `pwd`:/JORLDY jorldy/jorldy /bin/bash

# windows
docker run -it --rm --name jorldy -v %cd%:/JORLDY jorldy/jorldy /bin/bash

:heavy_plus_sign: To use additional environments

- Atari and Super Mario Bros

atari and super-mario-bros need to be installed manually due to licensing issues

# To use atari(bash)
pip install --upgrade gym[atari,accept-rom-license]==0.23.0

# To use atari(zsh)
pip install --upgrade 'gym[atari,accept-rom-license]'==0.23.0

# To use super-mario-bros
pip install gym-super-mario-bros

- Mujoco (Mac and Linux only)

Mujoco is supported in docker. However, if you don't use docker, several subprocesses should be done. Please refer to the mujoco-py github installation

:rocket: Getting started

cd jorldy

# Examples: python main.py [run mode] --config [config path]
python main.py --config config.dqn.cartpole
python main.py --async --config config.ape_x.cartpole

# Examples: python main.py [run mode] --config [config path] --[optional parameter key] [parameter value]
python main.py --config config.rainbow.atari --env.name breakout
python main.py --sync --config config.ppo.cartpole --train.num_workers 8

:card_index_dividers: Release

Version Release Date Source Release Note
0.5.0 April 18, 2022 Source Release Note
0.4.0 April 01, 2022 Source Release Note
0.3.0 March 10, 2022 Source Release Note
0.2.0 January 23, 2022 Source Release Note
0.1.0 December 23, 2021 Source Release Note

:mag: How to

:page_facing_up: Documentation

:busts_in_silhouette: Contributors

:mailbox: Contact: jorldy@kakaoenterprise.com

leonard ramanuzan kan erinn
leonard.q
(Kyushik Min)
ramanuzan.lee
(Hyunho Lee)
kan.s
(Kwansu Shin)
erinn.lee
(Taehak Lee)
link royce crest lisa
link.lee
(Hojoon Lee)
royce.choi
(Jinwon Choi)
crest.son
(Sungho Son)
lisa.ekkim
(Eunkyeong Kim)

:label: Citation

@article{min2022jorldy,
  title={JORLDY: a fully customizable open source framework for reinforcement learning},
  author={Min, Kyushik and Lee, Hyunho and Shin, Kwansu and Lee, Taehak and Lee, Hojoon and Choi, Jinwon and Son, Sungho},
  journal={arXiv preprint arXiv:2204.04892},
  year={2022}
}

:copyright: License

Apache License 2.0

:no_entry_sign: Disclaimer

Installing in JORLDY and/or utilizing algorithms or environments not provided KEP may involve a use of third party’s intellectual property. It is advisable that a user obtain licenses or permissions from the right holder(s), if necessary, or take any other necessary measures to avoid infringement or misappropriation of third party’s intellectual property rights.