A Library for Deep Reinforcement Learning
Project description
JoyRL
JoyRL
是一个基于 PyTorch
和 Ray
开发的强化学习(RL
)框架,支持串行和并行等方式。相比于其他RL
库,JoyRL
旨在帮助用户摆脱繁琐的算法实现细节、不友好的API
等问题。JoyRL
设计的宗旨是,用户只需要通过超参数配置就可以训练和测试强化学习算法,这对于初学者来说更加容易上手,并且支持大量的强化学习算法。JoyRL
为用户提供了一个模块化的接口,用户可以自定义自己的算法和环境并使用该框架训练。
安装
注意不要使用任何镜像源安装 JoyRL
!!!
安装 JoyRL
推荐先安装 Anaconda
,然后使用 pip
安装 JoyRL
。
# 创建虚拟环境
conda create -n joyrl python=3.8
conda activate joyrl
pip install -U joyrl
Torch
安装:
推荐使用 pip
安装,但是如果遇到网络问题,可以尝试使用 conda
安装或者使用镜像源安装。
# pip CPU only
pip install torch==1.10.0 torchvision==0.11.0 torchaudio==0.10.0
# pip GPU with mirror image
pip install torch==1.10.0+cu113 torchvision==0.11.0+cu113 torchaudio==0.10.0 --extra-index-url https://download.pytorch.org/whl/cu113
# CPU only
conda install pytorch==1.10.0 torchvision==0.11.0 torchaudio==0.10.0 cpuonly -c pytorch
# GPU
conda install pytorch==1.10.0 torchvision==0.11.0 torchaudio==0.10.0 cudatoolkit=11.3 -c pytorch -c conda-forge
使用说明
快速开始
以下是一个使用 JoyRL
的示例。如下所示,首先创建一个 yaml
文件来设置超参数,然后在终端中运行以下命令。这就是你需要做的所有事情,就可以在 CartPole-v1
环境上训练一个 DQN
算法。
joyrl --yaml ./presets/ClassControl/CartPole-v1/CartPole-v1_DQN.yaml
或者你可以在你的 python
文件中运行以下代码。
import joyrl
if __name__ == "__main__":
print(joyrl.__version__)
yaml_path = "./presets/ClassControl/CartPole-v1/CartPole-v1_DQN.yaml"
joyrl.run(yaml_path = yaml_path)
串行与并行
Usage
the following presents a demo to use joyrl. As you can see, first create a yaml file to set hyperparameters, then run the command as below in your terminal. That's all you need to do to train a DQN agent on CartPole-v1 environment.
joyrl --yaml ./presets/ClassControl/CartPole-v1/CartPole-v1_DQN.yaml
or you can run the following code in your python file.
import joyrl
if __name__ == "__main__":
print(joyrl.__version__)
yaml_path = "./presets/ClassControl/CartPole-v1/CartPole-v1_DQN.yaml"
joyrl.run(yaml_path = yaml_path)
Documentation
More tutorials and API documentation are hosted on https://datawhalechina.github.io/joyrl/
Algorithms
Name | Reference | Author | Notes |
---|---|---|---|
DQN | DQN Paper | johnjim0816 |
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.