关于配置tensorflow-gpu这个过程实在是太艰辛,弄了好久 。废话不多说,我说一下配置过程中的一些心得。吐血,吐血!!
先说一下,我目前的电脑 配置:GTX950m,python3.6.8
安装有CUDA9.0+cuDnn7.6.2和CUDA8.0+cuDnn6.0两个版本
tensorflow-gpu1.12.0, numpy1.15.4, protobuf3.9.1
希望大家大体浏览一下文章再安装,避免一些不必要的错误。
首先,我 建议大家使用Anaconda
,这个里面封装了许多库,特别好用。但是里面的Spyder
可能好多人觉得用着不习惯(与matlab界面差不多)。你也可以使用Pycharm
来进行编写,只需要把解释器换成anaconda里面的就行。具体操作我就不详细说了,请看下面我觉得比较好的博文 :
Anaconda详细安装+与pycharm之间的链接:https://blog.csdn.net/ITLearnHall/article/details/81708148
要安装之前,请大家查看一下自己的python版本是什么,最好现在先不要安装python3.7及其以上,因为版本太高,会导致很多东西都没有资源。关于python在你安装 Anaconda的时候会让你选择版本,我最开始没有使用GPU,所以默认选择了py3.7,后来才发现其弊端。如果你已经安装也不要紧,你可以在Anaconda下使用conda新建一个环境py36,保证其python版本为3.6。Anaconda支持多环境。建议使用conda新建环境
创建python虚拟环境:https://www.cnblogs.com/swje/p/7642929.html
新建py36
(自己起名字,我的叫py36)环境后,一定要激活,下面安装所有的库都是在该环境下进行的。
你首先要安装CUDA与cuDnn,具体版本因电脑显卡而异。具体安装请看这里:
https://blog.csdn.net/m0_37638031/article/details/78896818,
https://blog.csdn.net/qq_30611601/article/details/79067982
https://blog.csdn.net/Fowee/article/details/84983245
这只是一个参考,里面的内容也不是很全面。大家要根据自己的情况。往往理想很美好,显示很残酷 。看人家装的一帆风顺,到自己这里各种毛病。
注意以下几点!!!
安装VS
,我装的2015,cuda安装时要用到版本的匹配
。自己查。环境变量
,很多,好好看看。我的环境变量:
我是装了两个版本,,先装的CUDA8.0,后来发现与其兼容的tensorflow-gpu版本太低,某些程序都运行不了。特别是当你使用一些开源的现成的模型的时候,若模型训练用的tensorflow版本高于你的,则你将无法运行。我是用稍微修改了一下object-detect-API里面的object_detection_tutorial.ipynb 测试出错,后上网搜索发现是因为 tensorflow版本太低的问题。后来我就升级了,但是又出现
from tensorflow.python.keras._impl.keras.backend
import abs
ImportError: cannot import name 'abs'
因为现在的tensorflow与keras版本不匹配。我也尝试着修改 ,尝试了各种方法:换不同版本,换keras后端,最终都失败了。然后我就放弃了,可能他真的不行。我就直接把该环境下的所有库都删掉了,重新弄。
无奈之下 ,我又安装了CUDA9.0,放心 他和CUDA8.0两者可以兼容,你就照着前面你安装成功的方式安装,已经没有错。不要怀疑,我就是这么弄得,中间他会说将删除已经存在的版本 ,他就是吓唬你。实际上并没有删除。使用CUDA9.0 就可以配置更高版本的tensorflow-gpu了 。哈哈
如果你安装了两个版本的CUDA,系统默认使用环境变量中位置靠上的那个。你想用哪个,就将其路径放在另一个的上面。
你可以使用conda安装 ,conda install tensor-gpu==版本号
,一定要指定版本号与你安装的CUDA对应,否则它自动安装最新版本,使用 会报错。使用 conda 安装,可能速度较慢,可能会出现下载失败的现象。如果你网速够快,请忽略这个问题。你可以添加 清华源,下载速度变快。但是很不巧的是,我所需要的tensorflow-gpu1.12.0 在 清华源中没有该版本 ,然后我决定离线安装,去PyPI下载你所需要版本的 .whl 文件,里面特别全,你想要的各种版本都有。(如果你不会用,请自行百度)。最后在py36环境、whl文件所在路径下pip install xxx.whl
这样你就成功安装 完成了。对于其他的各种库,只要 清华源里面有的,你下载速度都很快。基本库是要安装的,eg:numpy, pillow, pandas, matplotlib 等 。然后你就开心的去测试就好了。。哈哈哈
然后我就一盆冷水:
........
AttributeError: 'tuple' object`
吐血吐血!!!我上网搜了一下,说是numpy版本问题,我当时用numpy1.17.0 ,不行。换了1.16.0,还不行,残血了 ,,最后抱着试试的心态换成numpy1.15.4,终于成功了。满血复活,哈哈哈哈哈哈哈哈
相关conda命令:https://blog.csdn.net/qq_36758461/article/details/98639350
最后说一句,只要大家坚持下来,最终一定能配置成功。不要放弃,我也弄了好久。收获 很多 。