我是靠谱客的博主 认真大侠,最近开发中收集的这篇文章主要介绍翻译: AWS DeepRacer一步一步详细步骤的自定义航点更快地运行 自定义waypoints1. 如何获得航点地图?2. Jupyter Lab将弹出。3. 什么是航点waypoints?4. 使用航点奖励功能创建新模型。5. 使用航路点的赛车线。6. 在赛车线之后,我们可以使用航路点来控制速度。7. 评估您的模型8.克隆你的模型9. 120分钟后,二次训练结束。10. 下载评估视频。11. 2018 Reward function参考,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

登录进AWS Control 控制台

搜索“DeepRacer”并点击“AWS DeepRacer”
在这里插入图片描述
DeepRacer 控制台。

在这里插入图片描述

2019 年 DeepRacer 冠军杯”的航点图

在这里插入图片描述

1. 如何获得航点地图?

1.1 打开“终端”

在这里插入图片描述

1.2. 下载文件。输入命令:

git clone https://github.com/aws-deepracer-community/deepracer-analysis.git

在这里插入图片描述

1.3. 命令:

cd deepracer-analysis/

在这里插入图片描述

1.4.命令运行jupyter lab。

python3 -m venv venv
source venv/bin/activate
pip install --upgrade -r requirements.txt
jupyter lab

在这里插入图片描述

1.5. 点击“enter”运行最后一条命令。

在这里插入图片描述

2. Jupyter Lab将弹出。

在这里插入图片描述

2.1点击“Training_analysis.ipynb”

在这里插入图片描述

2.2.运行以下命令,使用“shift + enter”运行。

在这里插入图片描述

2.3.运行导入,使用“shift + enter”运行。

在这里插入图片描述

2.4. 列出曲目文件名。

在这里插入图片描述

2.5. 为 reinvent_base 加载航点地图。

在这里插入图片描述

2.6.您可以更改文件名以获得不同的航点地图。

在这里插入图片描述

3. 什么是航点waypoints?

航点代表轨道上的每个位置。它有 3 条线(L = 左、C = 中心和 R = 右),它们在地图上也有 0 - 154 号。不同的赛道会有不同的航点。
在这里插入图片描述
为航点构建新代理。

3.1 点击“你的车库”。

在这里插入图片描述

3.2. 点击“建造新车”。

在这里插入图片描述

3.3. 选择“相机”并点击“下一步”。

在这里插入图片描述

3.4.修改动作空间。(最大转向角=20,转向角粒度=3,最大速度=2m/s,速度粒度=2)

在这里插入图片描述

3.5. 点击“下一步”。

在这里插入图片描述

3.6. 命名 DeepRacer 并单击“完成”。

在这里插入图片描述

4. 使用航点奖励功能创建新模型。

4.1.点击“创建模型”。

在这里插入图片描述

4.2. 输入型号名称。

在这里插入图片描述

4.3.选择赛道:2019 DeepRacer冠军杯。

在这里插入图片描述

4.4.选择代理(与之前创建的相同)并单击“下一步”

在这里插入图片描述

4.5. 从 Github 复制奖励函数模板并粘贴到代码编辑器:

https://github.com/oscarYCL/deepracer-waypoints-workshop/blob/main/Template.py

def reward_function(params):
    
    center_variance = params["distance_from_center"] / params["track_width"]
    #racing line
    left_lane = [8,9,10,11,12,13,14,15,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,85,86,87,88,89,90,91,92,139,140,141,142,143,144,145,146,147,148,149,150,151]#Fill in the waypoints
    
    center_lane = [0,1,2,3,4,5,6,7,16,17,18,19,20,21,22,23,26,27,28,29,30,31,32,33,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,133,134,135,136,137,138,152,153,154]#Fill in the waypoints
    
    right_lane = [24,25,120,121,122,123,124,125,126,127,128,129,130,131,132]#Fill in the waypoints
    #Speed
    fast = [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,141,142,143,144,145,146,147,148,149,150,151,152,153,154]#Fill in the waypoints, 2m/s
    slow = [83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,139,140]#Fill in the waypoints, 1m/s
    
    reward = 21

    if params["all_wheels_on_track"]:
        reward += 10
    else:
        reward -= 10

    if params["closest_waypoints"][1] in left_lane and params["is_left_of_center"]:
        reward += 10
    elif params["closest_waypoints"][1] in right_lane and not params["is_left_of_center"]:
        reward += 10
    elif params["closest_waypoints"][1] in center_lane and center_variance < 0.4:
        reward += 10
    else:
        reward -= 10
    if params["closest_waypoints"][1] in fast:
        if params["speed"] == 2 :
            reward += 10
        else:
            reward -= 10
    elif params["closest_waypoints"][1] in slow:
        if params["speed"] == 1 :
            reward += 10
        else:
            reward -= 10
        
    
    return float(reward)

在这里插入图片描述

5. 使用航路点的赛车线。

5.1 画出赛车线。

在这里插入图片描述

5.2. 将航点填入奖励功能。

在这里插入图片描述

5.3. 填写 right_lane 的航路点。航路点:48-55。

在这里插入图片描述
在这里插入图片描述

5.4. 填充 center_lane 的航路点。航路点:56-75。

在这里插入图片描述

在这里插入图片描述

5.5. 填充 left_lane 的航路点。航路点:76-90。

在这里插入图片描述
在这里插入图片描述

5.6.填写奖励功能的所有路点(0-154)。例子:

在这里插入图片描述

6. 在赛车线之后,我们可以使用航路点来控制速度。

设置快=2m/s,慢=1m/s。
在这里插入图片描述
在这里插入图片描述

6.1.画出速度线。绿线 = 2 m/s,红线 = 1m/s

在这里插入图片描述

6.2. 将航路点填到“快”。航路点 48-75。

在这里插入图片描述
在这里插入图片描述

6.3. 将航路点填到“慢”。航路点 76-90。

在这里插入图片描述
在这里插入图片描述

6.4.填写奖励功能的所有路点(0-154)。例子:

在这里插入图片描述

6.5. 完成奖励功能,设置训练时间=120分钟

在这里插入图片描述
在这里插入图片描述

6.6. 点击“创建模型”开始训练。

在这里插入图片描述

6.2小时后,培训结束。

在这里插入图片描述

7. 评估您的模型

7.1 点击“开始评估”。

点击“开始评估”。
在这里插入图片描述

7.2.选择赛道“2019 DeepRacer冠军杯”

在这里插入图片描述

7.3. 选择试验次数来评估您的模型(3 次试验)。

在这里插入图片描述

7.4. 赛车类型选择“计时赛”。

在这里插入图片描述

7.5.点击“开始评估”

在这里插入图片描述

7.10分钟后,你会得到结果。

在这里插入图片描述
该模型有 2 个偏离轨道,因为它只完成了约 60%。我们需要更多的训练时间。

在这里插入图片描述

8.克隆你的模型

8.1 点击“克隆”

在这里插入图片描述

8.2. 输入型号名称。

在这里插入图片描述

8.3. 选择赛道。

在这里插入图片描述

8.4. 点击“下一步”。

在这里插入图片描述

8.5. 点击“下一步”。

在这里插入图片描述

8.6. 单击“超参数”。

在这里插入图片描述

8.7. 将“学习率”从 0.0003 更改为 0.00003。

在这里插入图片描述
超参数。

在这里插入图片描述

8.8. 点击“创建模型”,再训练 120 分钟。

在这里插入图片描述

9. 120分钟后,二次训练结束。

9.重新开始评估。

在这里插入图片描述
奖励图对比。模型训练完成率从 60% 提高到 86.05%。

在这里插入图片描述
评价结果对比。最佳时间从 16.315s 减少到 14.896s,所有单圈完成率 100%。
在这里插入图片描述

10. 下载评估视频。

10.1 点击“复制到 S3”

在这里插入图片描述

10.2. 单击“创建新存储桶”。

在这里插入图片描述

10.3. 勾选“视频”并点击“复制”。

在这里插入图片描述

10.4. 点击“复制”。

在这里插入图片描述

10.5. 成功并点击“查看”。

在这里插入图片描述

10.6. 点击“视频/”。

在这里插入图片描述

10.7. 点击“评估/”。

在这里插入图片描述

10.8、点击“评估-xxxxxxxxxxxxxxx-xxxxxxxxxxxx/”。

在这里插入图片描述

10.9. 点击“camera-45degree/”。

在这里插入图片描述

10.10. 勾选方框。

在这里插入图片描述

10.11. 点击“下载”。

在这里插入图片描述

10.12. 成功。

在这里插入图片描述

11. 2018 Reward function

github 地址:https://github.com/zgpeace/deepracer-waypoints-workshop/tree/main/Examples/re:Invent%202018

def reward_function(params):

    center_variance = params["distance_from_center"] / params["track_width"]
    #racing line
    left_lane = [23,24,50,51,52,53,61,62,63,64,65,66,67,68]#Fill in the waypoints
    
    center_lane = [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,25,26,27,28,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,54,55,56,57,58,59,60,69,70]#Fill in the waypoints
    
    right_lane = [29,30,31,32,33,34]#Fill in the waypoints
    
    #Speed
    fast = [0,1,2,3,4,5,6,7,8,9,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70]#Fill in the waypoints, 2m/s
    slow = [10,11,12,13,14,15,16,17,18,19,20,21,22,23,24]#Fill in the waypoints, 1m/s
    
    reward = 21

    if params["all_wheels_on_track"]:
        reward += 10
    else:
        reward -= 10

    if params["closest_waypoints"][1] in left_lane and params["is_left_of_center"]:
        reward += 10
    elif params["closest_waypoints"][1] in right_lane and not params["is_left_of_center"]:
        reward += 10
    elif params["closest_waypoints"][1] in center_lane and center_variance < 0.4:
        reward += 10
    else:
        reward -= 10
    if params["closest_waypoints"][1] in fast:
        if params["speed"] == 2 :
            reward += 10
        else:
            reward -= 10
    elif params["closest_waypoints"][1] in slow:
        if params["speed"] == 1 :
            reward += 10
        else:
            reward -= 10
        
    
    return float(reward)

参考

https://www.linkedin.com/pulse/aws-deepracer-free-student-workshop-run-faster-using-your-cheuk-lam/?published=t
https://github.com/zgpeace/deepracer-waypoints-workshop

最后

以上就是认真大侠为你收集整理的翻译: AWS DeepRacer一步一步详细步骤的自定义航点更快地运行 自定义waypoints1. 如何获得航点地图?2. Jupyter Lab将弹出。3. 什么是航点waypoints?4. 使用航点奖励功能创建新模型。5. 使用航路点的赛车线。6. 在赛车线之后,我们可以使用航路点来控制速度。7. 评估您的模型8.克隆你的模型9. 120分钟后,二次训练结束。10. 下载评估视频。11. 2018 Reward function参考的全部内容,希望文章能够帮你解决翻译: AWS DeepRacer一步一步详细步骤的自定义航点更快地运行 自定义waypoints1. 如何获得航点地图?2. Jupyter Lab将弹出。3. 什么是航点waypoints?4. 使用航点奖励功能创建新模型。5. 使用航路点的赛车线。6. 在赛车线之后,我们可以使用航路点来控制速度。7. 评估您的模型8.克隆你的模型9. 120分钟后,二次训练结束。10. 下载评估视频。11. 2018 Reward function参考所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(27)

评论列表共有 0 条评论

立即
投稿
返回
顶部