流行的深度强化学习算法的实现

rlib的Python项目详细描述


RLIB

Build Status

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

  1. 初始化Logger和/或GIFRecorder对象。
os.makedirs('your/log/dir',exist_ok=True)logger=Logger(output_dir)gifs_recorder=GIFRecorder(output_dir,duration=3.0)
  1. 使用这些对象初始化新环境。
env=GymEnvironment(e,dqn,logger=logger,gifs_recorder=gifs_recorder)
  1. 要检查TensorBoard日志,请运行:
tensorboard --logdir=your/log/dir

定制型号

  1. 定义自己的自定义模型。
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
  1. 请检查文档中您正在使用的算法以获得适当的参数名。对于dqn:
dqn=DQNAgent(observation_size,action_size,qnetwork_local=NeuralNet(),qnetwork_target=NeuralNet(),)

节省模型重量

  1. 在创建算法的新实例时,将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

许可证

rlibMIT License下被释放。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
swing Java按钮/网格布局   java列出Google日历中的所有事件   java无效:单击API publisher test按钮后连接到后端时出错   带有内部赋值的java While循环导致checkstyle错误   java为什么trimToSize/ensureCapacity方法提供“公共”级访问?   文件输出流的java问题   ListIterator和并发修改异常的java问题   java如何使用两个URL映射   无法识别使用“./../”构造的字符串java相对路径,为什么?   首次写入remotelyclosedsocket不会触发异常,对吗?JAVA   java OneDrive REST API为文件上载提供了400个无效谓词   Java泛型、集合接口和对象类的问题   OpenSSL Java安全提供程序   jmeter java运行jmx禁用操作