【自动驾驶模拟器AirSim快速入门 | 01】自动驾驶模拟器AirSim实战演练
这是机器未来的第15篇文章
原文首发地址:https://blog.csdn.net/RobotFutures/article/details/125285472
@toc
1. 项目简介
博主基于微软AirSim模拟器的端到端自动驾驶入门项目发布了汉化版,并且优化了环境安装过程中的版本兼容问题。
项 目 地 址:https://github.com/ihuajiu/AutonomousDrivingCookbook
项目面向自动驾驶初学者、研究人员和行业专家。项目以jupter notebook作为载体,使用流行的开源工具(如Keras、TensorFlow等)构建,项目提供数据集、源代码、AirSim模拟器,以便于实现自动驾驶快速仿真。
博主的测试效果如下:
AirSim模拟器自动驾驶测试视频
2. 安装教程
2.1 安装基础开发环境
参考博主这篇文章:【物体检测快速入门系列 | 02】Windows部署GPU深度学习开发环境
2.2 创建conda虚拟环境
为了减少其它库的冲突问题,强烈建立新建一个虚拟环境
# python版本务必选择3.6,否则运行过程中的冲突会让你怀疑人生
conda create -n airsim python=3.6
# 切换aisim虚拟环境
conda activate airsim
2.3 克隆博主的AutonomousDrivingCookbook项目源码到本地
git clone https://github.com/ihuajiu/AutonomousDrivingCookbook.git
如果克隆失败或网速过慢,则可以直接下载压缩包到本地解压
下载后的源代码结构如下:
├─AirSimE2EDeepLearning # 端到端的深度学习自动驾驶项目
├─AirSimE2EDeepLearningCN # 端到端的深度学习自动驾驶项目博主汉化版
│ ├─DataExplorationAndPreparation_files # 数据预处理的输出监控文件
│ ├─model # 训练输出的模型目录
│ │ ├─imgs
│ │ └─models
│ └─TrainModel_files
└─DistributedRL # 强化学习项目,概要性质├─Blob├─Share│ ├─data│ ├─scripts_downpour│ │ ├─app│ │ └─downpour│ └─tools│ └─Far└─Template
2.4 安装项目依赖库
- 使用InstallPackages.py安装依赖脚本
# 首先切换到汉化版目录
cd AirSimE2EDeepLearningCN
# 推荐使用命令运行脚本,IDE工具有时候选择的虚拟环境不对
python InstallPackages.py
注意事项:
因为项目过于久远,安装现在的依赖包会和代码冲突,因此需要指定版本安装解决这个问题, InstallPackages.py已经修改为对应的版本。
- tensorflow==1.5.0
- 安装tensorflow1.x版本,预防keras版本冲突问题
- 需要安装特定版本1.5.0,否则报错:tensorflow_backend.py:64: The name tf.get_default_graph is deprecated. Please use tf.compat.v1.get_d
- keras==2.1.2
- 必须使用2.1.2版本,否则会报错:ValueError:
brightness_range should be tuple or list of two floats. Received: 0.0, https://github.com/microsoft/AutonomousDrivingCookbook/issues/89
- tornado==4.5
- 解决ZMQILoop和float变量*运算的问题
- h5py==2.10.0
- 解决警告问题
- 如果vscode启动内核失败,则执行如下命令
conda install -n airsim ipykernel --update-deps --force-reinstall
至次环境搭建完毕。
2.5 下载模拟器
我们已经为本食谱中的教程创建了AirSim模拟环境的独立构建。您可以https://airsimtutorialdataset.blob.core.windows.net/e2edl/AD_Cookbook_AirSim.7z。考虑使用AzCopy,因为文件大小很大。
2.6 下载数据集
模型的数据集相当大。你可以https://aka.ms/AirSimTutorialDataset。第一个笔记本将提供关于如何访问数据的指导,一旦你下载了它。最后的未压缩数据集大小约为3.25GB(虽然与训练实际的自动驾驶汽车所需的千兆字节数据相比,这还不够,但对于本教程来说应该足够了)。
3. 运行项目
3.1 配置原始数据集目录和预处理后的数据集目录
打开DataExplorationAndPreparation.ipynb文件修改你的电脑上的实际目录
# << 配置下载的数据集目录 >>
RAW_DATA_DIR = 'data_raw/'# << 配置预处理后(*.h5)的输出目录 >>
COOKED_DATA_DIR = 'data_cooked/'
3.2 配置Step1中的[配置预处理后(*.h5)的输出目录]和模型文件保存目录
打开TrainModel.ipynb修改如下目录
# << 配置前一步预处理好的数据集目录 >>
COOKED_DATA_DIR = 'data_cooked/'# << 模型文件输出目录:随着梯度越来越小,模型会逐步更新 >>
MODEL_OUTPUT_DIR = 'model' # 不建议修改,保持默认即可
3.3 模型预处理、训练、推理预测及模拟器自动驾驶运行测试
3.3.1 数据挖掘与准备
依次执行DataExplorationAndPreparation.ipynb,完成数据预处理
3.3.2 模型训练
依次执行TrainModel.ipynb,完成模型训练
3.3.3 启动AirSim模拟器
- 启动Powershell
第一次启动,用管理员权限打开Powershell shell,首先配置权限,否则会提示:禁止运行脚本
set-ExecutionPolicy RemoteSigned
以后启动powershell就不用管理员权限了。
- 启动AirSim模拟器
在Powershell中定位到模拟器安装位置AD_Cookbook_AirSim,执行如下命令启动
.\AD_Cookbook_Start_AirSim.ps1 landscape
landscape是数据集对应的场景,还有City、Hawii、Neighborhood三种场景。
3.3.4 启动模型推理及自动驾驶仿真
- 执行TestModel.ipynb启动自动驾驶模拟
注意事项:TestModel.ipynb有可能在连上AisSim模拟器的时候卡死,应该是vscode jupyter工具的问题,将代码摘出来,直接运行python文件即可运行Python版TestModel。
# AutonomousDrivingCookbook-github\AirSimE2EDeepLearningCN
python TestModel.py
启动后,就可以看到博主在文首视频中的画面了。
以上就是开箱即用手册的全部内容,后续将逐步发布细节详解,敬请期待~
推荐阅读:
- 物体检测快速入门系列(1)-Windows部署GPU深度学习开发环境
- 物体检测快速入门系列(2)-Windows部署Docker GPU深度学习开发环境
- 物体检测快速入门系列(3)-TensorFlow 2.x Object Detection API快速安装手册
- 物体检测快速入门系列(4)-基于Tensorflow2.x Object Detection API构建自定义物体检测器
写在末尾:
- 博客简介:专注AIoT领域,追逐未来时代的脉搏,记录路途中的技术成长!
- 专栏简介:本专栏的核心就是:快!快!快!2周快速拿下Python,具备项目开发能力,为机器学习和深度学习做准备。
- 面向人群:零基础编程爱好者
- 专栏计划:接下来会逐步发布跨入人工智能的系列博文,敬请期待
- Python零基础快速入门系列
- 快速入门Python数据科学系列
- 人工智能开发环境搭建系列
- 机器学习系列
- 物体检测快速入门系列
- 自动驾驶模拟器AirSim入门系列
- 自动驾驶物体检测系列
- …
【自动驾驶模拟器AirSim快速入门 | 01】自动驾驶模拟器AirSim实战演练相关推荐
- 【自动驾驶模拟器AirSim快速入门 | 04】推理预测及模拟器运行
这是机器未来的第21篇文章 原文首发地址:https://blog.csdn.net/RobotFutures/article/details/125388747 开源项目: 项目地址:https:/ ...
- 【自动驾驶模拟器AirSim快速入门 | 02】数据预处理:数据挖掘与准备
这是机器未来的第16篇文章 原文首发地址:https://blog.csdn.net/RobotFutures/article/details/125321082 开源项目: 项目地址:https:/ ...
- 【自动驾驶模拟器AirSim快速入门 | 03】模型训练
这是机器未来的第20篇文章 写在前面: 博客简介:专注AIoT领域,追逐未来时代的脉搏,记录路途中的技术成长! 专栏简介:掌握基本的自动驾驶概念.模型训练.推理仿真. 面向人群:零基础编程爱好者 专栏 ...
- Sers微服务快速入门-01.简介
微服务给我们的第一映像是分布式.架构复杂庞大,部署起来非常麻烦.其实并非如此,不同的架构选型必然带来不同的优点和缺点,没有一劳永逸的方法,配置简单是因为适用的功能场景简单.在项目或产品的实际开发中往往 ...
- jenkins插件更换源_jenkins快速入门,自动构建一个hello world项目(devops,ci/cd)
jenkins是一个非常老牌的ci/cd工具,它是一款使用Java写的开源自动化应用.可以通过界面或Jenkinsfile告诉它执行什么任务,何时执行,理论上,可以让它执行任何事,一般用来做ci/cd ...
- Python程序设计快速入门01
Python程序设计入门到考试(Day01) 全系列共计6天,十二章.仅作基础入门到期末考试-- 第1章 Python语言概述 1.python的起源 Python由荷兰数学和计算机科学研究学会的[G ...
- RISC-V 嵌入式 Rust 快速入门,基于 Renode 模拟器和 HiFive1 开发板
配置开发环境 这里以 Ubuntu 18.04 作为宿主环境,其它 Linux 发行版类似.Windows 环境待更新. 安装标准 Rust 编译器 wget https://cdn.jsdelivr ...
- ETCD快速入门-01 ETCD概述
1.ETCD概述 1.1 ETCD概述 etcd是一个高可用的分布式的键值对存储系统,常用做配置共享和服务发现.由CoreOS公司发起的一个开源项目,受到ZooKeeper与doozer启发而 ...
- docker快速入门01——docker安装与简单应用
1.docker简介 Docker 是一个开源的应用容器引擎,Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级.可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化 ...
最新文章
- 被小扎誉为整个科技界的愿景,元宇宙到底是什么?
- linux触摸屏两指缩放_自定义TextView实现单指拖动,双指缩放旋转
- MVC基于角色权限控制--用户管理
- Kafka无消息丢失配置
- 通过live555实现H264 RTSP直播
- Linux 基础——查看文件内容的命令
- Spring mvc 启动配置文件加载两遍问题
- Mr.J--验证码登陆模块
- php 上传文件 例子,php上传文件实例
- 安卓学习笔记25:常用控件 - 下拉列表
- OpenCV-图像处理(03、Mat对象)
- matlab tanh导数,谁知道tanh(x)的二阶导数-tanh-数学-郝啪韭同学
- java导入excel数据为树形处理
- idea2020无限重置
- 8.10-8.13 shell的cut,sort_wc_uniq,tee_tr_split,特殊符号
- javaSe查漏补缺
- USB服务器赋能美团数字化建设
- 在线教育,异军突起,有一种华丽转身,叫做.NET在线讲师!(全职/兼职皆可)...
- C语言中#if的使用
- KVM虚拟化技术的-虚拟网卡
热门文章
- wma转换成mp3格式,wma转mp3快速完成
- PS教程(个人精心整理,你也可以成为PS高手)
- 美国纽约仍有近四成父母不愿为年幼的孩子接种新冠疫苗 | 美通社头条
- hexo个人博客收录谷歌
- 1-Click PC Tuneup软件-破解实录-[中]
- Windows Installer问题集结及解决办法
- 惠普服务器怎么挂载虚拟光驱,惠普服务器SPP包制做方法
- 「武汉理工大学 软件工程复习」第一章 | 软件工程概述
- jdbc批处理+手动事务+多线程实现81秒插入1000万数据(多线程版)
- app式成语_成语看图猜app