WIN10 + python3.5 + Aaaconda3-5.1.0 + CUDA10.0 + cuDNN7.6.5.32 + tensorflow-gpu-1.13.1
GPU计算能力对应表:
https://blog.csdn.net/real_myth/article/details/44308169
版本对应关系:
https://blog.csdn.net/Sunny_Future/article/details/89925101
注意:安装时首先需要注意安装版本,表格中的tensorflow-gpu版本目前不一定支持,要输入conda search --full-name tensorflow-gpu查看tensorflow-gpu目前存在的版本,然后找出对应的Python、CUDA以及cudnn版本进行安装!!!
下载后直接安装(及解压缩),并在系统环境变量中添加安装路径。
新建,添加路径“D:\opencv\build\x64\vc14\bin”
检查环境中的python版本python --version
下载相应版本,安装过程中基本全是下一步, 遇见添加环境变量的请打钩。不然之后更新库不会很方便!!!
注意:CUDA在下载时,注意选择exe(local)版本的,同时底下Base与Patch两种都要下载安装,两个版本均默认安装。
下载地址:https://developer.nvidia.com/cuda-80-ga2-download-archive
解压cudnn5.1,将其中的三个文件夹拷贝到C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0中,与源文件夹合并。(CUDA默认安装路径)
测试:在cmd中输入nvcc -V检查环境变量是否配置正确。
注意:安装tensorflow-gpu时使用:conda install而不是pip install,否则可能会导致tensorflow-gpu安装到其他python环境中
必须指定版本,否则会与已安装的cuda版本不匹配!
Step1:配置清华仓库镜,输入指令:
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --set show_channel_urls yes
Step2:创建运行环境,输入指令:
conda create -n tensorflow-gpu python=3.5
Step3:安装tensorflow1.13.1及相应依赖包,输入指令:
pip install --ignore-installed --upgrade tensorflow-gpu==1.13.1
新建一个名字叫“tensorflow-gpu”,python版本为3.5的运行环境,此环境与Anaconda中其它环境隔离。红框中的软件包也会随之安装,输入“y“和回车后开始安装。
Step3:激活并进入环境,使后续指令在激活的环境中生效,输入指令:
activate tensorflow-gpu
Step4:检查是否安装好tensorflow-gpu
(1)输入conda list,检查环境中的已安装列表,列表中显示有tensorflow-gpu 1.1.0,则表示已安装;
(2)在命令行中,进入python,输入以下代码:
import tensorflow as tf
hello = tf.constant(‘Hello, TensorFlow!’)
sess = tf.Session()
print(sess.run(hello))
再测试是否可用gpu加速运算:
在创建的tensorflow-gpu环境中输入spyder,若显示找不到指定模块,则输入conda spyder安装。然后输入spyder打开界面,输入:
import os
from tensorflow.python.client import device_lib
os.environ[“TF_CPP_MIN_LOG_LEVEL”] = “99”
if name == “main”:
print(device_lib.list_local_devices())
可以看到有两个可用设备,分别是cpu:0和gpu:0,表明安装成功,gpu可用。
程序运行时不需要指定gpu运算,因为有些计算不可用gpu加速,安装成功后程序会自动采用gpu加速运算。
报错1:进行tensorflow-gpu安装时发现打开conda navigator发生闪退
发现问题在于无法连接到步骤4中修改的镜像地址,查阅发现清华镜像已停止服务,因此需要删除修改的镜像地址改回源址,以管理员身份运行cmd,输入:
Conda config –remove-key channels
之后重新安装conda-navigator输入:
Conda install anaconda-navigator
然后打开anaconda-navigator,输入:
anaconda-navigator
问题解决!
一定要对应版本,不加版本号的话会自动安装最新版本,与上面安装的python3.5、CUDA以及cudnn不适配!!!
注意:如果是在创建的新环境中安装了tensorflow,则在使用tensorflow-gpu时,不能再终端直接输入python,此时输入import tensorflow as tf会报错,因为步骤中新建了一个tensorflow-gpu环境,与原来的base环境都是python环境,因此需要再Anaconda Prompt中输入activate tensorflow-gpu激活环境,然后再输入之前的代码。
报错2:输入pip install tensorflow-gpu==1.13.1报错
这是因为最后一步让更新pip版本,更新之后由于之前已经建立了tensorflow-gpu的文件夹,因此需要去安装位置上删掉之前的。
报错3:安装好后import测试,报错
这是由于cudnn的版本与安装的tensorflow-gpu不匹配,因此回到tensorflow-gpu的激活环境,重新安装1.1.0版本:pip install tensorflow-gpu==1.1.0
报错4:发现终端激活环境后使用是不报错的,但是直接打开spyder缺提示“No model named tensorlfow”
原因是必须在安装了tensorflow的环境中使用spyder才可以,发现安装了tensorlfow的环境是第四步中我们创建的tensorfow-gpu,但其中并没有安装spyder,因此激活该环境,在其中安装spyder:pip install spyder
其他问题:测试电脑安装的tensorflow到底是gpu还是cpu版本
在python环境下输入:
import os
from tensorflow.python.client import device_lib
os.environ[“TF_CPP_MIN_LOG_LEVEL”] = “99”
if name == “main”:
print(device_lib.list_local_devices())
最后检查自己创建的tensorflow-gpu环境中的安装内容:conda list
检查是否安装了spyder、jupyter等,没有则安装:
conda install spyder
conda install jupyter
安装好后再开始的Anaconda文件夹里可以看到每个应用有两种类型,其中一种是属于tensorflow-gpu环境下的。
参考网址:
[1]https://blog.csdn.net/gangeqian2/article/details/79358543
[2]https://blog.csdn.net/a1040193597/article/details/79774182
[3]https://blog.csdn.net/Sunny_Future/article/details/89925101