win10系统环境搭建

  • ADAS仿真软件
  • CUDA + cuDNN
  • Python + keras + tensorflow
  • 后记

前言:
上一篇介绍今年准备要做的工作,包括Python,GPU,机器学习,ADAS驾驶仿真,程序算法等,这两天把所有的环境都搭起来了,下一步准备一个一个实现。
工欲善其事必先利其器,之前的笔记本已经是13年的产品了,而且还是基本的办公本,显卡和处理器都很弱,内存小且是1600M的,硬盘SATA数据读取慢,无法胜任工作平台的任务。前两星期买了台笔记本,神船GX7 CT5DS,看了很多评论与测评,决定试水神船,当时祈祷不要“翻船”23333。货到后使用了两周,除了屏幕模块效果一般且有一个坏点,其他用着都很不错,上船成功把。说一下配置,这个本子我看了很久,性价比我个人认为是全网最高了,PDD6000不到。
CPU i5 9400F(工作主频3.8G) + GPU GTX 1660Ti 6G + 16G(2667M) + 500G Nvme
除了整个物理外形17.3显得很大以外,基本上算是比较合适的一个工作本了。
DOTA2 特效全开FPS200+, PUBG 游戏内FPS150+,且散热良好,如果有需求的同学,对性价比要求高的,一定不要错过这一款。

ADAS仿真软件

作为一个刚开始摸索ADAS工作的人,首先要做的应该是收集信息,做ADAS的哪一部分工作,这个部分需要准备什么知识,我觉得这应该是一个行业或者技术的开始。
汽车的ADAS相关工作,大体是三个部分(我个人目前的认知,不一定对):MIL,SIL,HIL。
MIL:Model in loop,大多数的工作集中在算法功能实现上,要求算法核心逻辑的正确。
SIL:Software in loop,多数工作为调整代码,适配仿真环境,近乎真实的通过仿真环境模拟出真实场景,实现算法+模型的闭环,完全在电脑层面完成实际的功能。
HIL:Hardwaere in loop,硬件参与进来,从一部分代码放在硬件上运行,到全部代码放入硬件或者真实测试车上运行,我个人认为都算HIL内容,完成ADAS从软件到硬件的转换。

从个人操作来看,我们目前可以操作到SIL,也就是说纯软件操作,需要准备:算法实现 + 仿真环境。
从各类网络信息中整理,以及可以获取的软件,得出结论:
1、Matlab + Prescan
2、Matlab + Carsim
3、Matlab单独
就目前而言,仿真环境很多家,开源+商业的,也有不少。举例来说,开源比较出名的是Carla,基于虚幻游戏引擎 ,有身边小伙伴使用过,动力学模型差,看起来效果和游戏差不多,传感器种类基本都有,在没有办法的情况下,可以考虑用Carla + ROS(可以看作通信中间件)实现自动驾驶实现,如何搭建环境,不细说。商业的仿真软件,主要的Matlab,Prescan,Carsim,Dyna4,Panosim(国产)等,评价来看:
Matlab本身就是算法开发环境,自身的simulink自带各类ADAS功能,虽然不能像其他仿真软件一样那么逼真的仿真驾驶环境,但是对于算法来说,基本足够,而且其他的几个环境,基本都需要以来simulink。破解版请自行百度,我的电脑搭建的2018b。

Prescan传言是传感器效果逼真,而且种类繁多,使用下来看,确实如此。优点还有一个,就是容易操作,界面理解起来简单,环境搭建轻松,而且自带demo包含主流功能仿真(ACC,Parking,AEB等),连带simulink都有,不要太爽。需要与Matlab的simulink结合操作,simulink实现控制逻辑,Prescan提供仿真环境。整个搭配比较吃内存和显卡,显卡差的,Prescan跑起来会很慢,亲测,而且整个汽车跑起来不是很真实,动力学以及车辆自身不够逼真。

Carsim个人使用下来,觉得对车的设置很多很细,而且每个参数都可以调整,车子跑起来也很真实,那种惯性的感觉,比Prescan好很多。传感器使用不多,不多评价。与Matlab的simulink联合仿真,用起来没有Prescan方便。

整体使用下来,window环境,肯定需要matlab,Prescan和Carsim选一个。如果是远程操作,那么你还需要一台linux电脑,搭载ROS环境。环境是这样:远端Linux ROS编译好控制程序的收发,与simulink的ROS模块对接,将控制数据传给Prescan或者Carsim模型,这些模型再将传感器数据以及车身姿态数据回传ROS,实现window跑仿真和Matlab,linux跑算法控制,亲测可行,参考的是https://blog.csdn.net/u013914471/article/details/83276607。

使用了一段时间,发觉Prescan对用户比较友好,模块拖拽安装比较方便,且参数修改方便,对于逻辑开发比较友好。而且导入simulink中,接口清晰,传感器输出的信息也足够,方便simulink中的控制开发。

避坑指南:安装Prescan前,你需要安装Matlab + vs两个软件,版本要合适,我的是Matlab2018b + vs2013。Prescan安装过程中需要Matlab目录,因为Prescan会根据安装时的目录,启动Matlab。并且Prescan导入Matlab过程中,需要一个模型编译器,这个编译器对于正版Matlab,可以直接在Matlab中搜索下载,破解版的话没有整个功能,需要额外安装,单独装太麻烦,不如直接装一个VS2013省事。

软件网址:
Prescan:https://www.jb51.net/softjc/615599.html
Matlab:https://www.jb51.net/softs/603604.html
vs2013:https://zhuanlan.zhihu.com/p/91281922
Carsim:https://zhuanlan.zhihu.com/p/82681635?native.theme=0

CUDA + cuDNN

我的显卡是GTX 16660 Ti,找到nvidia官网,里面有免费下载驱动,nvidia控制面板是win10商店下载的。官网有nvidia CUDA下载,按照直接显卡对应的CUDA下载。

但是,如果第一次搞,不去搜索信息,那么要走弯路,所以执行事情之前,先得有足够的信息。
CUDA最新的版本(写文章的时候)10.1,我们的显卡是支持的,但是10.1对各类其他软件的支持,没那么好,看了一圈,10.0的CUDA兼容性更好,所以我们需要下载10.0的CUDA。安装不多说,只需要注意,如果你显卡的驱动是最新的或者不需要重新安装的,那么安装CUDA的时候,要自定义,取消设备驱动devices那个选项,不然重新装或者引起其他问题。
cuDNN下载需要注册nvidia的账号,注册完可以下载,对应的版本应该是7.4。

CUDA 版本和cuDNN版本的版本号很重要!!!
CUDA 版本和cuDNN版本的版本号很重要!!!
CUDA 版本和cuDNN版本的版本号很重要!!!

后面安装Python以及对应的tensorflow以及keras的版本,都依赖CUDA与cuDNN的版本。
CUDA的开发环境,你可以选择cmd直接编译(nvcc + xxx.cu + include + lib),也可以找个工具,比如前面安装的vs2013,将CUDA的编译链设置在vs2013中,那么可以在vs2013中实现CUDA开发。
vs2013 + CUDA: https://www.cnblogs.com/ww1x/p/10820362.html
唯一需要注意的是,CUDA的vs开发,需要修改项目属性,原本可能是win32,需要修改成x64,否则很多cuda的lib库无法导入
同样,此时有VS2013开发环境,那么开发C/C++也没有问题,上面已经下载的Matlab,同样提供了m函数和s函数的开发环境。

Python + keras + tensorflow

如果是Linux系统,我个人喜欢gedit/vim进行程序编写,然后不论是c/cpp,还是cu文件,或者py文件,又或是其他各种其他代码文件形式,都可以手动进行编写,或者sh脚本编译,或者makefile编译,这种方式是我认为最简单的Linux程序编写编译方式。
转到window下,反而编译变得麻烦了。编写程序随便找个文本编辑器如notepad++或者什么,都可以,但是编译就费事儿了,cmd命令行直接编译需要安装linux继承环境,所以通常window下编写代码进行编译都要有专门的继承环境,比如vs2013,比如eclipse等等。

言归正传,Python我最初下载的是3.7.7,后来发现版本太新,很多东西可能无法兼容,比如和CUDA。所以卸载了3.7,改装3.6。安装Python自带pip以及idel编辑器,可以快速安装包以及开发,比较省事。
需要注意的是,每个包,安装时检查,是否有名字相同的重复版本,比如numpy你安装过1.19,后面发现tensorflow需要低级别numpy,此时你最好先卸载掉1.19,再安装1.16,否则,会在某些函数引用时,报错。
简而言之,每个包要确认好版本,再安装,重新安装需要卸载掉前一个版本。

接下来说tensorflow版本的问题。最新的是2.1.0貌似,我忘了,自动下载的应该是这个版本(阿里云源),下载下来是CPU版本,应该是导入不成功的,具体为啥我也没太搞清,大概率版本对不上。我导入成功的是1.16.0这个版本,后来发现训练太慢,改GPU版本了。tensorflow-gpu是tf对应的GPU版本,默认使用GPU,我使用的是1.14.0版本,可以成功使用,最多是警告某些函数在之后的版本会删除之类,并不影响使用。
软件对应版本:
Python:3.6.6
numpy:1.16.0
tensorflow-gpu:1.14.0
keras:2.2.4

后记

还是那句老话:工欲善其事必先利其器。
开始干活之前,先把必要的软件环境搞起来,每个软件弄完都跑几个demo,确认是否把环境搭建好,编译环境,头文件路径,依赖库路径等等设置。
这些工作做完,那么开始下一步学习。

我的计划如上一篇所说,Python的机器学习 + 数据结构 + ADAS这三件事情。
工作以来ADAS,私下进行Python的机器学习与数据结构的学习。

win10系统开发环境搭建相关推荐

  1. win10后端开发环境搭建

    win10后端开发环境搭建 jdk 下载 配置环境变量 验证 maven 下载 配置环境变量 验证 修改远程仓库和本地仓库 验证远程仓库与本地仓库设置成功 git nodejs 配置环境变量 测试 m ...

  2. C/C++各种系统开发环境搭建

    C/C++各种系统开发环境搭建 http://pan.baidu.com/s/1qWJKF4g posted on 2015-03-04 00:10 秦瑞It行程实录 阅读(...) 评论(...) ...

  3. Adroid学习笔记-入门资料以及V2.3系统开发环境搭建

    今年工作签得比较顺利,签了国内著名的通讯IT企业,同时拿到国内著名即时通讯软件公司,国内著名的通讯IT兼国企母公司和其移动开发子公司等另外三家公司的offer.之后时间便充裕,同时步入通讯行业,对手机 ...

  4. a40i平台android7.1系统开发环境搭建

    一   搭建Android7.1系统开发环境 Ubuntu14.04 搭建android7.1开发环境 参考:https://blog.csdn.net/weixin_34399060/article ...

  5. CUDA 8.0 + VS2013 + win10 x64开发环境搭建

    前言 工欲善其事,必先利其器. CUDA开发,搭建Windows下的环境 准备 作为CUDA开发的第一篇,先介绍一下CUDA环境的搭建吧,这里主要讲的是CUDA在WINDOWS上的环境搭建,后续会专门 ...

  6. Android系统开发环境搭建

    目录 一.ubuntu20.04环境配置 1.源更新 2.构建Linux 3.配置JDK 4.配置SDK 5.配置环境变量 6.配置git 7.配置repo 8.配置ssh 9.激活gerrit 二. ...

  7. Windows下的QT系统开发环境搭建

            QT是一款由Qt Company开发的跨平台C++图形用户界面应用程序开发框架.它既可以开发GUI程序,也可用于开发非GUI程序,比如控制台工具和服务器.Qt是面向对象的框架,使用特殊 ...

  8. 飞凌嵌入式全志A40i开发板试用体验之 称重系统-开发环境搭建(1)

    称重系统主要采用OKA40i-C开发板作为主控板,外接hx711模块以及压电传感器作为重量检测单元,然后通过QT将称重界面显示出来. 1. QT移植 在QT移植之前需要搭建pc上的Ubuntu虚拟机, ...

  9. win10 linux开发环境搭建,win10子系统linux.ubuntu开发环境搭建

    UI线程和work线程 UI线程处理消息,比如重绘,响应键盘鼠标等等跟消息有关的处理. 而工作线程一般是你自己写的用来处理数据的,比如操作数据库等等.(work线程) ORACLE 自定义分页存储过程 ...

最新文章

  1. linux+postfix+extmail+dovecot搭建邮件服务器
  2. SpringSecurity案例之oauth2认证所需资源说明
  3. IE浏览器解决无法识别js中getElementsByClassName问题
  4. SlimYOLOv3:更窄、更快、更好的无人机目标检测算法
  5. gnome-shell 扩展
  6. Go语言 -- PostgreSQL数据库
  7. 虚拟usb打印机服务器,usb打印机服务器 云盘
  8. [C++项目]C++实现简易的酒店管理系统
  9. Canny边缘检测非极大值抑制法在双立方插值(Bicubic)图像边缘优化
  10. P1359 租用游艇 dfs/dp/floyd/dijk/spfa DAG(有向无环图)
  11. matlab怎么输入学号姓名,matlab如何创建一个构架数组用于统计学生的情况包括学生的姓名学号各科成绩等??...
  12. js 查找html中的%3c%3e,Web前端攻防,一不小心就中招了
  13. [颜色知识] 潘通色卡、CMYK、RGB、 ARGB...
  14. zb服务器连接不稳定,绝对惊人!全球服务器处理9.57ZB数据
  15. 有个漂亮女朋友是种怎样的体验?爬取知乎2.2亿的阅读量的话题
  16. 海湾gst5000主机消防广播_海湾GST5000消防主机常见问题及解决!
  17. python bp神经网络 异或_【神经网络】BP算法解决XOR异或问题MATLAB版
  18. pythonocc 扩展数据_样条在pythonOCC
  19. 《NK细胞培养扩增解决方案》
  20. 在京东,我是怎么做项目管理的

热门文章

  1. 联通研究院联合中兴通讯发布“5G+区块链”应用白皮书
  2. 动漫鬼刀MAC高清动态桌面壁纸
  3. 日用品电商销售数据分析
  4. python相关注册登录方式
  5. ff开发者必备插件列表
  6. hdu5445(两次多重背包)
  7. 难忘的聚会,美好的时光(1957--1962)
  8. outlook 发件人 xxx 代替 xxx 的问题
  9. MATLAB循环调用函数使用并行池指南(带非官方实际例子)
  10. 基于java的springboot在线考试系统毕业设计springboot开题报告