翻译:使用 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": "*"
        }
    ]
}

3. 创建 Amazon SageMaker 笔记本环境

  1. 在管理控制台中打开 Amazon SageMaker 并切换到与 AWS DeepRacer 控制台相同的北弗吉尼亚区域。
  1. 打开 Jupyter Notebook 并从文件选项卡的新建下拉菜单中选择终端。
  2. 当终端屏幕打开时,从 GitHub 克隆存储库。
$ cd SageMaker/
$ git clone https://github.com/aws-samples/aws-deepracer-workshops.git
  1. 从 Jupyter Notebook 的 Files 选项卡打开
    /aws-deepracer-workshops/log-analysis/DeepRacer Log Analysis.ipynb。

  2. 显示环境选择画面,这里选择“conda_tensorflow_p36”。
     * 在此之后执行附加包的工作中选择相同的环境。

4. 根据你的笔记本环境安装包

在跟我们查的时候,notebook执行的时候出现了shapely import的错误,所以提前安装anaconda环境的包。

  1. 在 Jupyter Notebook 的“Conda”选项卡中,环境列表显示在顶部的 Conda 环境列表框中,因此选择“tensorflow_p36”。(图中1-1)
    确认右下方列表框中的显示变为“tensorflow_p36”。(图中1-2)

  2. 从左下角的列表框中选择“匀称”。(图中2)
    您还可以通过文本缩小搜索范围。

  3. 选择中间的“→”开始安装。(图中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 安装 ruby​​racer 时出错

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?