组装了一台深度学习菜鸟入门级的电脑,配置见:DIY自己的深度学习电脑
于是我再一次安装了tensorflow-gpu版本。经过一下午的折腾,发现我上一篇博文简直是莫名其妙的安装成功了,有很多想法都是错误的,这里我就不贴出来了。
本文就是把我一下午的经过描述一遍,有许多网上的报错,都在我这完美的出现了。
NVIDIA driver:一开始的版本是423,之后我升级为442
CUDA toolkit : 10.1.105
cudnn :7.6.5
Python :3.6.7(一开始为3.7,后来在网上查阅发现tensorflow-gpu只支持python3.6 或者 3.5,下面会介绍的)
正常的安装tensorflow-gpu 流程我就不详细介绍了。
主要是 CUDA+cudnn+anaconda
这里,我先安装了CUDA和cudnn,这里的版本选择可以参考我之前的文章,也可以参考网上大佬的教程,我就不详细赘述了。
接着安装anaconda,这里在安装的时候有个系统不推荐的选项,实际上是问我们是否添加到环境变量PATH中。不在这里勾选的话,之后记得把环境变量添加好
安装好这一切之后,开始:conda install tensorflow-gpu
毋庸置疑,失败。
接着再试下:pip install tensorflow-gpu
毋庸置疑,失败。
报的错误不太一样,conda的是:
(不用介意图片的细节,我没截图,图是网上的)
这里的问题应该是镜像的问题。参考了:https://blog.csdn.net/u013383596/article/details/87718472
这里我找到.condarc,把https改成了http。
此时我可以conda install tensorflow-gpu了,等啊等,在访问各种json后,又各种failed,我就知道又凉了。
不错,这里的确不行,于是我在网上查了下原因,应该是python版本的问题。
可以参考:https://blog.csdn.net/qq_41337100/article/details/86710551
先:
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/pkgs/free/
conda config --set show_channel_urls yes
然后:
conda create -n tensorflow python=3.6 (这里加粗的地方是自己命名的)
接着:
activate tensorflow ( 这里是激活刚命名的tensorflow虚拟环境)
这时候你可以查看你当前的运行环境:
conda info
conda list
现在总可以install tensorflow-gpu了吧
果然安装好了?为啥是1.1.0版本呢?总觉得非常奇怪。
不管了,直接在python交互命令中import tensorflow。失败!!
我在conda的镜像源中也只找到了1.1.0
在conda list中也确实发现了tensorflow-gpu 1.1.0版本,难道我要重新安装cuda和cudnn么?
目前看来也只能这样了。
之前的pip install 之所以会失败,从打印中来看,貌似是numpy等一些依赖版本比较低。
于是死马当活马医,各种:
conda update pip
pip install six numpy wheel
pip install numpy --upgrade
pip install keras_applications==1.0.6 --no-deps
pip install keras_preprocessing==1.0.5 --no-deps
再试一次,情况有所改观,从打印中发现是正在下载2.1.0版本的tensorflow,
不过等了好长时间之后,一大堆报错。
这里应该是国外镜像源的问题。参考:https://blog.csdn.net/sinat_21591675/article/details/82770360
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple tensorflow-gpu --upgrade
10秒钟下载好。真棒!
这时候conda list会发现:
非常开心!
开始尝试import tensorflow-gpu
悲催的报错(同样引用网友的)
于是百度看看,根据网上各路大神的意见,有以下可能的解决方案
1、numpy,protobuf版本过低
2、卸载 tensorflow的版本,重新安装
3、cuda和cudnn版本不对,比如:tensorflow会去找cuda_90.dll,而你安装9.2版本的cuda,需要重新安装
4、缺少Microsoft Visual C++ 2015 Redistributable(x64)
5、安装visual studio
其中第五种方法是解决我的问题的方法,本来是想安装VS用其中的dumpbin.exe,来查找我到底是缺少什么DLL。
最后安装好VS,重启了两次后。
import tensorflow as tf 成功了。
以上结果,来之不易,喜大普奔!!!