赞
踩
我的新书《Android App开发入门与实战》已于2020年8月由人民邮电出版社出版,欢迎购买。点击进入详情
DeepRacer是亚马逊推出的快速接触和入门机器学习(深度学习)的一种学习场景。
它虚拟了一辆赛车,并且以赛车跑完赛道为目的,要求大家创建模型并且编写奖励函数(reward function)并且训练模型,从而在尽可能短的时间内完成比赛。
你可以创建自己的模型,在一个虚拟赛道上完成性能评估。你也可以加入AWS DeepRacer联盟,和世界各地的选手进行切磋。
需要到aws网站进行注册:https://console.aws.amazon.com/console/home
然后在服务里面找到AWS DeepRacer:
然后在Your models里面可以开始创建model:
费用会从注册的时候绑定的信用卡中扣除,大家要记得及时查询账单。
创建模型涉及到的配置大概有三块:
可以说DeepRacer实际上就是怎么写好奖励函数(reward function)。
AWS DeepRacer提供了一些可用于编程的函数,详情见:
https://docs.aws.amazon.com/deepracer/latest/developerguide/deepracer-reward-function-input.html
而且AWS提供了一个Example代码,大家可以直接用这个代码作为自己的模型,当然如果要跑出很好的成绩,还是需要利用AWS提供的函数进行一定的分析和优化的。
def reward_function(params):
'''
Example of rewarding the agent to follow center line
'''
# Read input parameters
track_width = params['track_width']
distance_from_center = params['distance_from_center']
# Calculate 3 markers that are at varying distances away from the center line
marker_1 = 0.1 * track_width
marker_2 = 0.25 * track_width
marker_3 = 0.5 * track_width
# Give higher reward if the car is closer to center line and vice versa
if distance_from_center <= marker_1:
reward = 1.0
elif distance_from_center <= marker_2:
reward = 0.5
elif distance_from_center <= marker_3:
reward = 0.1
else:
reward = 1e-3 # likely crashed/ close to off track
return float(reward)
Example代码我们大致说下思路:
它是根据判断赛车里赛道中心位置的距离来给予不同的奖励。
如果越靠近中心,那么得到的奖励越多。
我们通过这样的策略训练这个模型(比如60mins时间),那么可以得到一个比较理想的能完成比赛的模型,但是时间可能不是最短的。
后面我们会专门针对具体的赛道并提供一个思路来看看怎么创建一个能跑得更快的模型。
下一篇:《AWS DeepRacer re:Invent 2018赛道reward function奖励函数》
欢迎关注我的技术公众号:国民程序员,我们的目标:输出干货
- 每天分享原创技术文章
- 海量免费技术资料和视频学习资源
- 分享赚钱门道,带领程序员走向财务自由
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。