本篇文章2092字,读完约5分钟

雷锋的人工智能技术评论新闻,张量流代理,一个在张量流中构造并行强化学习算法的有效基础设施例子,最近已经是开源的。这个项目是由两位谷歌研究人员詹姆斯·戴维森(james davidson)、文森特·范豪克(vincent vanhoucke)和丹尼尔·哈夫纳(danijar hafner)共同开发的。他们在github上介绍了关于这个项目的开源信息,并由雷(公开号:雷)的ai科技评论编辑了内容。

TensorFlow Agents日前开源,轻松在TensorFlow中构建并行强化学习算法

张量流代理

Tensorflow代理为强化学习提供了一个优化的基础设施,它将openai健身房界面扩展到多个并行环境,并且可以在tensorflow中为批处理计算训练代理。在这个项目中,我们提供batchppo,它是最近策略优化(ppo)的一个实现。

TensorFlow Agents日前开源,轻松在TensorFlow中构建并行强化学习算法

如果您在您的研究中使用我们项目的代码,请引用我们以前的论文张量流代理:张量流中的有效批量强化学习,它位于drive.google/file/d/0b20yn-gsavhgmvlpanrtrlnirlk/view

TensorFlow Agents日前开源,轻松在TensorFlow中构建并行强化学习算法

@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全局解释器锁的限制。

TensorFlow Agents日前开源,轻松在TensorFlow中构建并行强化学习算法

agent . tools . batch NV

agent . tools . batch env可以将openai健身房界面扩展到多种环境。它可以组合多个openai健身房环境,接受step()的批处理操作,并返回观察值、奖励、完成分数和信息对象。如果外部进程中有多个独立的环境,它们可以并行处理。

TensorFlow Agents日前开源,轻松在TensorFlow中构建并行强化学习算法

agents.tools.ingraphbatchenv

Agents.tools.ingraphbatchenv将批处理环境集成到tensorflow图中,并确保可以调用step()和reset()函数。观察值、最后动作、奖励和已完成标记中的批次都存储在变量中,并用作可用张量。

TensorFlow Agents日前开源,轻松在TensorFlow中构建并行强化学习算法

代理.工具.模拟()

agent . tools . simulate()将图内批处理环境和强化学习算法集成到一个步骤中,可以在训练周期中调用,这减少了调用会话的数量,并提供了一种简单的方法来训练下一个算法。

TensorFlow Agents日前开源,轻松在TensorFlow中构建并行强化学习算法

要理解这些代码,您需要熟悉张量流的控制流操作(尤其是tf.cond()、tf.scan()和tf.control_dependencies())。

Github地址:github/tensorflow/agents

雷锋。《科技评论汇编》。

雷锋原创文章。严禁擅自转载。详情请参考转载说明。

标题:TensorFlow Agents日前开源,轻松在TensorFlow中构建并行强化学习算法

地址:http://www.hcsbodzyz.com/hcxw/7002.html