聚合国内IT技术精华文章,分享IT技术精华,帮助IT从业人士成长

强化学习框架 rlpyt 数据可视化

2019-12-03 23:25 浏览: 196 次 我要评论(0 条) 字号:

转载需注明出处:https://www.codelast.com/

查看关于 rlpyt 的更多文章请点击这里

rlpyt 是BAIR(Berkeley Artificial Intelligence Research,伯克利人工智能研究所)开源的一个强化学习(RL)框架。我之前写了一篇它的简介。 
在训练强化学习模型的过程中,rlpyt 产生的大量训练日志看起来无比枯燥,本文就展示如何利用 viskit 把数据可视化的过程。

▶▶ viskit是什么
viskit是rllab的一个可视化组件,rllab是一个曾经有一定知名度的强化学习框架,但可惜的是它早就停止开发了。不过,viskit却被人单独抽了出来,作为一个可视化工具来使用。rlpyt 生成的训练日志也可以利用它来可视化,这是因为 rlpyt 生成的日志格式遵循了 viskit 的规范。
viskit的功能是:读取它能解析的日志数据,启动一个网页,在网页上用图形展示日志内容。
文章来源:https://www.codelast.com/
▶▶ 安装viskit
把代码下载到本地:

git clone git@github.com:vitchyr/viskit.git
cd viskit/

安装viskit的依赖包:

conda install -c anaconda matplotlib
conda install -c anaconda flask
conda install -c anaconda plotly

注意,在这里我是在Anaconda环境里装的,如果你不用Anaconda,也可以用对应的pip install来装。
需要flask是因为viskit会启动一个网页来可视化地展示数据,它正是使用了Flask来实现的(Flask 是一个 Python 实现的 Web 开发微框架)。
文章来源:https://www.codelast.com/
▶▶ 使用viskit
在使用viskit之前,首先你得有供它读取的日志。这里假设日志的路径为:/path/to/your/log/dir
这个路径下的日志文件名应该是类似于这样的:

├── debug.log
├── params.json
└── progress.csv

你可以用 rlpyt 跑一下自带的example,就会生成这样的日志数据。

设置PYTHONPATH:

export PYTHONPATH=/path/to/your/viskit:$PYTHONPATH

这里的 /path/to/your/viskit 是你的viskit所在路径。
运行viskit:

python viskit/frontend.py /path/to/your/log/dir

最后一个参数就是日志所在的目录。
不出错的话,你会看到命令行有这样的输出:

Importing data from ['/path/to/your/log/dir']...
Reading /path/to/your/log/dir/progress.csv
View http://localhost:5000 in your browser
 * Serving Flask app "frontend" (lazy loading)
 * Environment: production
   WARNING: This is a development server. Do not use it in a production deployment.
   Use a production WSGI server instead.
 * Debug mode: off
 * Running on http://0.0.0.0:5000/ (Press CTRL+C to quit)

文章来源:https://www.codelast.com/
▶▶ 效果展示
用浏览器访问 http://localhost:5000/ 即可打开可视化网页:
viskit

在上面的“Y-Axis Attributes”下拉列表框里可以选择要把哪些指标绘制成图形,点击“Upadte”按钮即可刷新下面的图像。
文章来源:https://www.codelast.com/
各种指标图:
viskit graph



网友评论已有0条评论, 我也要评论

发表评论

*

* (保密)

Ctrl+Enter 快捷回复