【导读】本文是微软Mitchell Spryn和Aditya Sharma分享的一篇关于自动驾驶的入门教程,讲解了如何利用AirSim仿真环境数据构建一个简单的端到端自动驾驶模型。尽管该文章可能只是自动驾驶的一个“hello world!”,但是如果您能仔细阅读本文推荐的链接,并按照步骤成功搭建文中的案例,相信您一定能入门自动驾驶,并且了解端到端深度学习的实现细节。
基于端到端深度学习的自动驾驶:AirSim教程
作者:
Mitchell Spryn, 微软软件工程师II
Aditya Sharma, 微软项目经理
▌概述
在本教程中,你将学习如何使用从AirSim仿真环境收集的数据来训练和测试用于自动驾驶的端到端深度学习模型。你将训练一个模型,学习如何驾驶一辆汽车通过地图的一部分,在AirSim中只使用一个前置摄像头作为视觉输入。这样的任务通常被认为是自动驾驶的“hello,world”,但是在完成本教程之后,你将有足够的背景知识去探索新的想法。通过本教程的学习,您还将学到一些端到端深度学习的实际应用和实现细节。
以下是该模型的一个简短示例:
▌本教程的结构
本教程中提供的代码是用Keras编写的,这是一个高层的深度学习Python API,可以在CNTK,TensorFlow或Theano之上运行。在Keras中个,您可以选择相应深度学习框架工作,并且使用方式十分简单,这使得它成为初学者的理想选择,消除了大多数流行框架带来的学习成本。
本教程以Python notebooks的形式呈现给你。Python notebooks使你可以轻松阅读说明和解释,并在同一个的文件中编写和运行代码,所有这一切都可以在浏览器窗口中轻松使用。您将依次浏览以下的notebooks :
DataExplorationAndPreparation
TrainModel
TestModel
如果您之前从未使用过Python notebooks,那么我们强烈建议您查看文档。
▌背景知识和设置
需要的背景
至少,你需要先熟悉神经网络的基础知识。您不需要知道像LSTM或强化学习这样的高级概念,但是您应该知道卷积网络是如何工作的。迈克尔·尼尔森(Michael Nielsen)写的这本书是一个很好的起点,可以让您在很短的时间内了解背景。它是免费的,很短并且可以在网上搜索到。它可以在不到一周的时间内为您提供坚实的基础。
你也应该对Python十分熟悉。至少,你应该能够阅读和理解用Python编写的代码。
环境设置
1. 安装AirSim
2. 使用含有Python 3.5或更高版本python的Anaconda。
3. 安装CNTK或安装Tensorflow
4. 安装h5py
5. 安装Keras
6. 将Keras后端配置为使用TensorFlow(默认)或CNTK。
硬件
强烈建议使用GPU进行处理。虽然可以只使用CPU来训练模型,但需要数天时间才能完成训练。本教程是使用Nvidia GTX970GPU开发的,训练时间大概为45分钟。
如果您没有可用的GPU,则可以使用Azure上的深度学习虚拟机,该虚拟机自带安装好的所有依赖项和库(如果使用此VM,请使用py35环境)。
数据集
该模型的数据集是非常大。你可以从这里下载。
https://aka.ms/AirSimTutorialDataset
第一个notebook将提供指导,说明如何在下载数据后访问数据。最终的未压缩数据集的大小大约是3.25GB(尽管这与训练一辆实际的自动驾驶汽车所需的PB级数据毫无比较意义,但对于本教程来说应该足够了)。
注意(A note from the curators)
我们尽最大努力确保本教程能够帮助您开始了解自动驾驶的基础知识,并使您能够独立探索新思路。我们很乐意听取您关于如何改进和发展本教程的反馈意见。我们也很想知道我们可以为您提供哪些其他教程,这将有助于您推进职业目标。请随时在GitHub上进行反馈。所有的反馈我们都非常关注。如果您有想要合作的想法,请随时与我们联系,我们将很乐意与您合作。
原文链接:
https://github.com/Microsoft/AutonomousDrivingCookbook/tree/master/AirSimE2EDeepLearning
-END-
专 · 知
人工智能领域主题知识资料查看获取:【专知荟萃】人工智能领域26个主题知识资料全集(入门/进阶/论文/综述/视频/专家等)
请PC登录www.zhuanzhi.ai或者点击阅读原文,注册登录专知,获取更多AI知识资料!
请扫一扫如下二维码关注我们的公众号,获取人工智能的专业知识!
请加专知小助手微信(Rancho_Fang),加入专知主题人工智能群交流!
点击“阅读原文”,使用专知