翻译: AWS DeepRacer一步一步详细步骤的自定义航点更快地运行 自定义waypoints
Posted AI架构师易筋
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了翻译: AWS DeepRacer一步一步详细步骤的自定义航点更快地运行 自定义waypoints相关的知识,希望对你有一定的参考价值。
登录进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一步一步详细步骤的自定义航点更快地运行 自定义waypoints的主要内容,如果未能解决你的问题,请参考以下文章