Virtualenv -TensorFlow及其他配置文档
一、采用Virtualenv-TensorFlow的原因
近期要使用Ubuntu系统笔记本完成自动驾驶车辆的调试,需要使用的编程语言、软件和框架包括:C++、Python、LCM、numpy、scipy、matplotlib、Opencv、TensorFlow、Keras。由于笔记本装的Ubuntu14.04系统自带的Python为2.7,而TensorFlow-Keras模型是在Python3下面跑通的,并且按照coding.net上的文档安装TensorFlow十分麻烦(实际使用Virtualenv安装了这么多东西同样麻烦……),因此在Virtualenv环境下安装了各种软件包。
二、C++ 及LCM
LCM是某甲方要求使用的所谓轻量级通讯系统,广泛应用在无人车上传输数据。甲方要求该软件工作在Ubuntu系统,使用语言为C++,并提供了一份安装文档(见附件1)。根据该文档可以较为顺利地完成Ubuntu系统下LCM的安装,遇到的少量的坑包括:
1、三个库zlib-1.2.8、libffi-3.2.1以及glib2.0以上版本的安装包需要自己下下来,然后解压、编译安装;
2、本人安装的glib是2.52.3版本;安装过程中遇到了一个问题“libmount”依赖库问题,解决方案
https://blog.csdn.net/chilv/article/details/79078948
三、Virtualenv与TensorFlow
Python2还未退出历史舞台,它与Python3各个安装包之间的纠纷仍然在继续。Virtualenv可以提供一个供单独的项目或者工程“纯洁”使用自己的专属安装包的环境。本项目要使用Python3环境,因此使用Virtualenv进行隔离。
https://blog.csdn.net/u012436149/article/details/53312212
以上时主要参考链接。
完成以上步骤之后,该项目专属环境已经搭建完毕,以下要做的就是在该环境下安装各种所需库和包。
四、Python常用库
完成第三步,进入该环境,所有命令行前面都会有一个括号,括号中是给该环境命的名字,形如(TensorFlow)。在该环境下使用pip安装Python库,包括numpy、SciPy、matlplotlib、pandas。
另,该项目中使用了keras机器学习框架,也需要虚拟环境下安装。
五、OpenCV
Opencv在虚拟环境下的使用是本次安装碰到的最大的问题。首先由于在更早的时候,我在原生环境下装了python3,并无意中使用了如下链接中的命令
https://blog.csdn.net/wwwdc1012/article/details/73551212
导致opencv一直安装不成功,甚至原生Python都无法使用;后来使用链接
中最后三行代码清除了原生环境,在正确安装成功了opencv,其安装过程网上教程较多。
之后需要在虚拟环境中使用opencv,这里一开始在网上看到的重点是要把安装成功生成的cv2.so文件链接到虚拟环境中,但是还是由于虚拟环境中的python3不能使用基于python2安装成功的opencv,因此import cv2失败。最终在链接
www.zhimengzhe.com/linux/274457.html
中找到了答案。
六、python和c++的通信。
采用的socket通信,链接如下:https://blog.csdn.net/deyuzhi/article/details/51725074
在使用的过程中又碰到了python2和Python3版本不兼容引起的bug,解决方法是在代码中加入了.encode和.decode函数。