TensorFlow Agents日前开源,轻松在TensorFlow中构建并行强化学习算法
本篇文章2092字,读完约5分钟
雷锋的人工智能技术评论新闻,张量流代理,一个在张量流中构造并行强化学习算法的有效基础设施例子,最近已经是开源的。这个项目是由两位谷歌研究人员詹姆斯·戴维森(james davidson)、文森特·范豪克(vincent vanhoucke)和丹尼尔·哈夫纳(danijar hafner)共同开发的。他们在github上介绍了关于这个项目的开源信息,并由雷(公开号:雷)的ai科技评论编辑了内容。
张量流代理
Tensorflow代理为强化学习提供了一个优化的基础设施,它将openai健身房界面扩展到多个并行环境,并且可以在tensorflow中为批处理计算训练代理。在这个项目中,我们提供batchppo,它是最近策略优化(ppo)的一个实现。
如果您在您的研究中使用我们项目的代码,请引用我们以前的论文张量流代理:张量流中的有效批量强化学习,它位于drive.google/file/d/0b20yn-gsavhgmvlpanrtrlnirlk/view
@misc{hafner2017agents,
title = { tensorflow agent:tensorflow中的有效批量强化学习},
作者={hafner,danijar and davidson,james and vanhoucke,vincent},
年份={2017}
{}
工具:Python 2/3,TensorFlow 1.3+,健身房,Rumamel.yaml
解释
执行以下代码复制数据库并运行ppo算法。
python 3-m agents . scripts . train-logdir =/path/to/logdir-config =钟摆
此处使用的算法已在配置中定义,其中摆锤利用了现有的ppo实现。您可以在代理/脚本/configs.py中查看更多预定义的配置。
如果要在运行之前重新启动任务,可以在最后一条指令中添加-timestamp =标志,并在运行目录的名称中提供时间戳。
要可视化度量,您需要从另一个终端启动张量板,然后将浏览器指向localhost:2222:
tensorboard-logdir =/path/to/logdir-port = 2222
如果您想渲染视频并收集openai健身房的统计数据并上传到记分牌,请输入以下代码:
python3 -m代理. scripts . visualize-log dir =/path/to/log dir/-outdir =/path/to/outdir/
修正
这个项目的发布可以使新的强化学习思想更容易实现。更正代码后,您可以从以下文件启动任务。
脚本/配置(指定任务和算法的实验配置)
脚本/网络. py(定义为张量流的神经网络模型)
脚本/train.py(包含培训设置的可执行文件)
PPO/算法(PPO算法的张量流图)
如果要运行所有单元测试,请输入以下代码:
python 3-m unit test discover-p " * _ test . py "
如果你有更多的问题,你可以在github上问他们。
执行
该版本还包括openai健身房环境下的批处理界面,可以与tensorflow无缝集成,实现高效算法。这是通过以下核心组件实现的:
agent . tools . wrappers . external process
特工。tools.wrappers.externalprocess是一个用于在外部进程中构建openai健身房环境的包装器。它可以调用step(),reset()和属性访问,将其转发给进程,然后等待结果。它可以并行运行多个环境,而不受python全局解释器锁的限制。
agent . tools . batch NV
agent . tools . batch env可以将openai健身房界面扩展到多种环境。它可以组合多个openai健身房环境,接受step()的批处理操作,并返回观察值、奖励、完成分数和信息对象。如果外部进程中有多个独立的环境,它们可以并行处理。
agents.tools.ingraphbatchenv
Agents.tools.ingraphbatchenv将批处理环境集成到tensorflow图中,并确保可以调用step()和reset()函数。观察值、最后动作、奖励和已完成标记中的批次都存储在变量中,并用作可用张量。
代理.工具.模拟()
agent . tools . simulate()将图内批处理环境和强化学习算法集成到一个步骤中,可以在训练周期中调用,这减少了调用会话的数量,并提供了一种简单的方法来训练下一个算法。
要理解这些代码,您需要熟悉张量流的控制流操作(尤其是tf.cond()、tf.scan()和tf.control_dependencies())。
Github地址:github/tensorflow/agents
雷锋。《科技评论汇编》。
雷锋原创文章。严禁擅自转载。详情请参考转载说明。
标题:TensorFlow Agents日前开源,轻松在TensorFlow中构建并行强化学习算法
地址:http://www.6st8.com/zbxw/3610.html
免责声明:联合早报中文网从世界各个维度报道世界经济新闻,时政新闻,突发新闻等,本篇的部分内容来自于网络,不为其真实性负责,只为传播网络信息为目的,非商业用途,如有异议请及时联系btr2018@163.com,联合早报中文网的小编将予以删除。