翻译:使用 AWS Deep Racer 的日志分析工具
Posted 架构师易筋
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了翻译:使用 AWS Deep Racer 的日志分析工具相关的知识,希望对你有一定的参考价值。
1. 介绍
我尝试与公司人员一起使用 AWS 提供的 AWS DeepRacer 日志分析工具。日志分析工具以笔记本格式发布在 GitHub 上的 AWS DeepRacer Workshop 下面。
https://github.com/aws-samples/aws-deepracer-workshops
警告
以下内容针对截至 2019 年 6 月 6 日的示例笔记本。
它可能不适用于其他版本的笔记本电脑。
2. 安装程序
2.1 创建策略
将以下策略附加到您的 Jupyter Notebook 实例的 IAM 角色。
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "logs:FilterLogEvents",
"Resource": "*"
}
]
}
- 创建 IAM 角色的方法与 AWS DeepRacer 模拟相同,请参考这里。
如何在 SageMaker 中启动 Deep Racer 模拟 创建 IAM 角色
3. 创建 Amazon SageMaker 笔记本环境
- 在管理控制台中打开 Amazon SageMaker 并切换到与 AWS DeepRacer 控制台相同的北弗吉尼亚区域。
- 创建 notebook 实例的方法与 AWS DeepRacer 模拟相同,请参考这里。
如何在 SageMaker 中开始使用 DeepRacer 模拟 创建 SageMaker 笔记本环境
- 打开 Jupyter Notebook 并从文件选项卡的新建下拉菜单中选择终端。
- 当终端屏幕打开时,从 GitHub 克隆存储库。
$ cd SageMaker/
$ git clone https://github.com/aws-samples/aws-deepracer-workshops.git
-
从 Jupyter Notebook 的 Files 选项卡打开
/aws-deepracer-workshops/log-analysis/DeepRacer Log Analysis.ipynb。 -
显示环境选择画面,这里选择“conda_tensorflow_p36”。
* 在此之后执行附加包的工作中选择相同的环境。
4. 根据你的笔记本环境安装包
在跟我们查的时候,notebook执行的时候出现了shapely import的错误,所以提前安装anaconda环境的包。
-
在 Jupyter Notebook 的“Conda”选项卡中,环境列表显示在顶部的 Conda 环境列表框中,因此选择“tensorflow_p36”。(图中1-1)
确认右下方列表框中的显示变为“tensorflow_p36”。(图中1-2) -
从左下角的列表框中选择“匀称”。(图中2)
您还可以通过文本缩小搜索范围。 -
选择中间的“→”开始安装。(图中3)
您可以通过按右下角列表框顶部的“刷新包列表”图标来检查是否已安装。
现在你准备好了!
5. 我尝试执行日志分析
如果您可以打开笔记本,请从顶部运行单元格。(按执行按钮或 Shift + Enter)
5.1 根据模拟 ID 下载所需的日志文件
在 AWS DeepRacer 控制台中重写与您要评估的训练关联的模拟 ID。您可以从 AWS RoboMaker 模拟作业中检查模拟 ID。
stream_name = 'applicationId' ## CHANGE This to your simulation application ID
fname = 'logs/deepracer-%s.log' %stream_name
cw_utils.download_log(fname, stream_prefix=stream_name)
5.2 加载要运行分析的轨迹的航点
输入训练中使用的轨道名称。
曲目信息似乎不时添加。您可以从 aws-deepracer-workshops/log-analysis/tracks/ 检查文件名(= 要分析的轨道名称)。
在这里,指定 May 的虚拟电路轨道的 London Loop。
def get_track_waypoints(track_name):
return np.load("tracks/%s.npy" % track_name)
waypoints = get_track_waypoints("London_Loop_Train")
waypoints.shape
5.3 可视化航迹和航点
您之前选择的 London Loop 课程显示在结果中
我无法涵盖所有笔记本,但我会在以这种方式检查结果的同时继续进行。
警告
- 笔记本中间有固定日志文件名的地方,根据训练的内容和时间,有一些地方如果参数保持默认会出错,所以我一边修正一边进行和每次调整…
- 除了训练模拟日志之外,还有一个分析,其中模型和评估时的模拟ID是输入信息。
- 某些类型的分析仅由 reInvent 课程支持。
6. 分析结果
6.1 每次迭代绘制奖励
您可以看到奖励如何随着情节的进展而变化。
6.2 分析奖励函数的奖励分布
作为训练的结果,很容易直观地掌握走哪条路线和走多少条路线。
6.3 在特定情节中采取的路径
还可以显示特定剧集的运行轨迹。
6.4 网格世界分析
我也在 reInvent 课程中尝试过。您可以看到您在课程中的速度。
7. 概括
使用日志分析工具我能够得到所有的分析结果,但是我应该从这些结果中读取什么以及我应该如何分析它们?您会从中获得什么样的解决方案并将其反映在 AWS DeepRacer 中?对于强化学习的初学者来说是相当困难的。
能够稍微接触到数据科学家和数据分析师的一些工作,体会到其中的艰辛和尊重。
事实证明,AWS DeepRacer 的努力不仅需要实施奖励功能和推进强化学习培训的技能,还需要基于日志和数据进行分析的技能。
参考
https://qiita.com/dnp-ayako/items/d4e1378bef45cd0994dd
以上是关于翻译:使用 AWS Deep Racer 的日志分析工具的主要内容,如果未能解决你的问题,请参考以下文章
使用 osx Yosemite 安装 rubyracer 时出错
Deep Learning Tutorial (翻译) 之 RBM
Deep Learning Tutorial (翻译) 之 RNN-RBM
论文翻译——Deep contextualized word representations
[翻译]Learning Deep Features for Discriminative Localization
运行 AWS Deep Learning Base AMI (Amazon Linux 2) 时,如何在 Elastic Beanstalk 中设置 WSGI?