caffe, caffe2, paddlepaddle, tensorflow对于cuda,cudnn,protobuf依赖的各种打架

由于在学习神经网络,为了尝试各种深度学习框架,电脑上目前安装了caffe, caffe2, paddlepaddle, tensorflow三款主流框架,但是安装过程中真是痛不欲生。

且不说单单安装一个caffe框架时花了我两天时间,各种cuda, cudnn不适应,还有Python接口有问题,由于我一直都习惯用Python3,还把它配置成了在Python3 环境下运行,可是paddlepaddle只支持Python2.7,没办法又把Python2所需支持的依赖库安装好,但是最闹心的是这三家框架各自版本对cuda,cudnn, protobuf都有不同的版本需求。有些还是无法产生交集,没办法最后只有妥协。

我发现在运行很多caffe,tensorflow 或者 paddle 程序报错时,添加sudo权限再执行就可以了。

最近刚学完caffe的使用,因为caffe2早已发布,想试试使用caffe2,安装倒挺简单的,也没有什么可以让你选择的地方,默认Python2.7,但是安装好后运行

from caffe2.python import core

时,一直报错, 

from caffe2.proto import caffe2_pb2 
ImportError: cannot import name caffe2_p

TypeError: __init__() got an unexpected keyword argument 'file'

查了网上说是protobuf版本问题,于是卸了重装新一点的版本就好了,

但是犯了paddle的忌讳

➜  build git:(master) sudo -H pip install protobuf 
Collecting protobuf
  Using cached https://files.pythonhosted.org/packages/9d/61/54c3a9cfde6ffe0ca6a1786ddb8874263f4ca32e7693ad383bd8cf935015/protobuf-3.5.2.post1-cp27-cp27mu-manylinux1_x86_64.whl
Requirement already satisfied: setuptools in /usr/lib/python2.7/dist-packages (from protobuf) (20.7.0)
Requirement already satisfied: six>=1.9 in /usr/lib/python2.7/dist-packages (from protobuf) (1.10.0)
paddlepaddle-gpu 0.11.0 has requirement protobuf==3.1, but you'll have protobuf 3.5.2.post1 which is incompatible.
Installing collected packages: protobuf
Successfully installed protobuf-3.5.2.post1

没办法,先将就着这么用,以后要用paddle时如果报错,再把protobuf版本改回为3.1版本就好了。

目前电脑安装的tensorflow版本是1.4,它要求cudnn必须为6.0版,而刚安装的最新的caffe2,或者叫pytorch(因为caffe2与pytorch合并了,官网下载时可以感受到),明显觉得cudnn6.0有点低,我运行了一个relu的Python测试,提示Engine CUDNN is not available for operator Relu,也就cudnn无法为GPU提供加速。

猜你喜欢

转载自www.cnblogs.com/zongfa/p/9052407.html