AirSim教程:基于端到端深度学习的自动驾驶

【导读】本文是微软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

原文发布于微信公众号 - 专知(Quan_Zhuanzhi)

原文发表时间:2018-01-27

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏快乐八哥

数据可视化-EChart2.0使用总结2

接上一篇博客,这篇博客主要讨论EChart里面的散点图、气泡图和雷达图。 4.散点图-Scatter Chart 适合场景:三维数据集,但是只有两个维度需要比较...

25060
来自专栏达观数据

【经验分享】点击模型:达观数据提升算法精度的利器

? 在搜索、推荐、广告引擎中,系统会通过复杂算法生成一个最终的结果列表。用户在看到这个结果列表时,未必都会对排序满意,比如有时觉得排序的顺序有问题,或者发现一...

551100
来自专栏AI科技评论

深度 | 基于移动设备的机器学习,本地与云端孰优孰劣?

AI科技评论按:如果您觉得,是时候给自己的手机应用添加一些热门的机器学习或深度学习算法.....这是个好想法!但您会怎么选择?致力于提供算法服务及小白科普的咨询...

34460
来自专栏IT大咖说

自主研发、不断总结经验,美团搜索推荐机器学习平台

内容来源:2018 年 5 月 26 日,美团点评技术专家杨一帆在“饿了么技术沙龙·第25弹【搜索推荐】”进行《Why WAI: 美团点评搜索推荐机器学习平台》...

35050
来自专栏人工智能头条

机器学习即服务之BigML特性介绍和入门教程

18650
来自专栏人工智能头条

黄金三镖客之TensorFlow版

21630
来自专栏深度学习之tensorflow实战篇

IBM SPSS Modeler Social Network Analysis 的介绍和日常应用

IBM SPSS Modeler Social Network Analysis,中文叫做社交网络分析,本文将一律简称 SNA。 引言 IBM Business...

321100
来自专栏AI科技大本营的专栏

手机也能直接玩机器学习了?来,让大神手把手教你

对于各种热门的机器学习、深度学习课程,你一定了解过不少了。 但上课之后,如何把学出来的这些新方法用在你的工作项目?如何让你的移动应用也能具备机器学习、深度学习...

45090
来自专栏机器之心

教程 | 教Alexa看懂手语,不说话也能控制语音助手

数月前的某个夜晚,我躺在床上时,一个念头闪过我的脑海——「如果语音是计算接口的未来,那么那些听不见或看不见的人该怎么办?」我不知道究竟是什么触发了这个想法。我自...

39820
来自专栏企鹅号快讯

第二课:开发机器学习app前的准备工作

框架的选择 如上一节课所说,随着机器学习的发展,目前已经出现很多不错的学习框架,这里我们做个对比: TensorFlow:深度学习最流行的库之一,它不仅便携、高...

26970

扫码关注云+社区

领取腾讯云代金券