Virtualenv 配置TensorFlow、opencv及其他库

1 篇文章 0 订阅
1 篇文章 0 订阅

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都无法使用;后来使用链接

http://cache.baiducontent.com/c?m=9d78d513d9810ae902b0c8690c66c0666f438113638c8c4e2087cd5f92144c304d7194be30526313a2b26b6671b83f5efd864165470937c79ddccf0a83b4c86e69ca303503019b0457960eafbc1675807fc310feaf6eb6e7af2fe0b3988dd85019cb170e32c0ed&p=9b78cb18a4904ead2abd9b7d0d15cd&newp=cb62c54ad5c342e01bbe9b7c5b0a8c231610db2151d4d0166b82c825d7331b001c3bbfb423251603d6c5786503a44d5ce9f23c76370523a3dda5c91d9fb4c57479c764&user=baidu&fm=sc&query=python%2Dminimal%C8%E7%BA%CE%D0%DE%B8%B4&qid=f358a04e0004db98&p1=8

中最后三行代码清除了原生环境,在正确安装成功了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函数。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值