我是靠谱客的博主 淡淡自行车,最近开发中收集的这篇文章主要介绍win10系统开发环境搭建,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

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系统开发环境搭建的全部内容,希望文章能够帮你解决win10系统开发环境搭建所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(40)

评论列表共有 0 条评论

立即
投稿
返回
顶部