流行的深度强化学习算法的实现
rlib的Python项目详细描述
RLIB
rlib
是一个小型的深度强化学习库,实现了流行的深度rl算法。每个算法都是高度模块化和可定制的,这使得这个库对于任何想在同一环境中测试不同算法性能的人来说都是一个很好的选择。rlib
使用pytorch作为其初始版本的选择库,但是对tensorflow的支持已经在路线图上了。
安装
pip install rlib
用法
使用rlib
很简单:
fromrlib.algorithms.dqnimportDQNAgentfromrlib.environments.gymimportGymEnvironmente=gym.make('CartPole-v0')observation_size=4action_size=2dqn=DQNAgent(observation_size,action_size)env=GymEnvironment(e,dqn)env.train()env.test()
高级
Tensorboard和GifRecorder
- 初始化
Logger
和/或GIFRecorder
对象。
os.makedirs('your/log/dir',exist_ok=True)logger=Logger(output_dir)gifs_recorder=GIFRecorder(output_dir,duration=3.0)
- 使用这些对象初始化新环境。
env=GymEnvironment(e,dqn,logger=logger,gifs_recorder=gifs_recorder)
- 要检查TensorBoard日志,请运行:
tensorboard --logdir=your/log/dir
定制型号
- 定义自己的自定义模型。
classNeuralNet(torch.nn.Module):def__init__(self):super(NeuralNet,self).__init__()self.fc1=nn.Linear(4,8)self.relu=nn.ReLU()self.fc2=nn.Linear(8,2)defforward(self,x):out=self.fc1(x)out=self.relu(out)out=self.fc2(out)returnout
- 请检查文档中您正在使用的算法以获得适当的参数名。对于dqn:
dqn=DQNAgent(observation_size,action_size,qnetwork_local=NeuralNet(),qnetwork_target=NeuralNet(),)
节省模型重量
- 在创建算法的新实例时,将
model_output_dir
参数设置为要保存模型的目录。
测试
运行所有测试:
python -m unittest discover test/
贡献
安装
请随意打开任何发现的错误或任何功能请求的问题。对于新功能,总是欢迎拉取请求。
virtualenv -p python3 venv
cd rlib/
source venv/bin/activate
pip install -r requirements.txt
要确保安装工作正常,请运行测试文件夹中的一个算法:
python test/algorithms/dqn_test.py
许可证
rlib
在MIT License下被释放。