admin 管理员组

文章数量: 887021

tensorflow-gpu配置

配置参考

博主装的应该的puthon3.7,且默认装的tensorflow-cpu最高版本

配置顺序

环境:win10,anaconda3
配置顺序:GPU driver→CUDA Toolkit→cuDNN→Python→Tensorflow→keras

要下载的版本们

1.安装tensorflow-GPU的前提是你的电脑具有英伟达的GPU(一般都有,所以都支持CUDA),电脑左下角搜索控制面板打开,点击NVIDIA控制面板,查看NVIDIA型号以及驱动能力

至NVIDIA官网查看GPU性能,因为tensorflow-gpu对CUDA的计算力是有最低要求的。如图所示:

Tensorflow-gpu < 2.0, CUDA compute Capability 3.0(笔者要下载的tf版本低,所以3.0就够用)
Tensorflow-gpu >=2.0, CUDA compute Capability 3.5

CUDA Toolkit与GPU驱动的对应关系:
一般都足够用的,确认一下就行

GPU驱动一般自带,但是看很多博主还是更新了,我这里没更新,如果需要可以移步配置参考3博文

tensorflow-gpu与CUDA Toolkit的对应关系:
这里要好好看一下,参考对应配置表,发现传统<2版本的tensorflow,高版本python(如3.7 3.8)不支持。。很无奈的要换版本环境。作为没上过手的小白,暂时选择配置CUDA9,cudnn7,tf1.10.0,keras2.2.0和python3.6

tf和keras版本对应关系:
此处对应选择keras版本即可

配置流程

VisualC++ Redistributable for Visual Studio
TensorFlow是基于VC++2015开发的,所以需要下载安装VisualC++ Redistributable for Visual Studio 2015 来获取MSVCP支持(不同版本详见上表)。通过控制面板的程序与功能发现有安装,所以就没再装了(但是没考证是否是update3),没装的可以先安
下载

GPU driver
配CUDA时一般会自动配上相应版本的驱动(我的就是从高版本更到了低版本),不过需要转换对应版本的可以移步
下载

CUDA Toolkit9和cudnn7
下载过程详见下载
CUDA9文件比较大,装好后记得在powershell里输入:

nvcc -V 

验证下,应该还要添加一下环境变量
cudnn7(下载时要注册一下,然后文件不大,解压缩后折腾三个文件就好)

给anaconda现有的python换版本
因为之前尝试过在python3.8基础上再建立3.6新环境,用来配tf,但是不仅配置报错,再pycharm里运行时,还要来回更换版本环境(不知道是不是我太菜了,觉得numpy那些库还要再配麻烦),所以干脆找到anaconda navigator,把环境降回了3.6(可能会导致部分库需要再自行升级一下):

(这一步没有必要,后面会说,当时一定是瞎了)

tensorflow1.10.0
检查anaconda和已有环境
win+R,输入cmd

conda info --envs

创建新环境并配置新python和对应tensorflow包

conda create --name tensorflow python=3.6
conda install tensorflow-gpu==1.10.0

输入y(确认)!

检查一下成功没呀:

conda activate tensorflow-gpu

进入环境(配好新环境的时候 会给这个提示的~ deactivate是退出环境

再进入python:

import tensorflow as tf
hello = tf.constant('Hello tensorfw')
sess = tf.Session()
print(sess.run(hello))

结果应该如图就对啦:

退出python程序调试命令exit()

keras
先进入tf环境

conda activate tensorflow-gpu

下载keras

pip install keras==2.2.0


检查keras有没有使用gpu:

from tensorflow.python.client import device_lib
print(device_lib.list_local_devices())

输出类似这种
[
name: "/cpu:0"device_type: “CPU”,
name: "/gpu:0"device_type: “GPU”
]

然后检查keras有没有在利用gpu

from keras import backend as K
K.tensorflow_backend._get_available_gpus()

输出也有GPU就对

大神

遇到的那些问题

1.CUDA在安装时,选择了”推荐“,没有自定义,导致全安到了C盘,有点心塞,所以卸载重装了一次,参考
大神
我因为是安装位置错误,所以博主让保留的我有的也卸了。。

2.安tensorflow时,反反复复好几次才成功,安好后,用代码测试会报错
DLL load failed: 找不到指定的模块(DLL load failed: The specified module could not be found)
参考:
大神
或者:
Could not find a version that satisfies the requirement tensorflow

conda info --envs

检查一下环境

conda remove -n tf --all

移除环境,再重新配环境,下载。。
我的报错原因不同于博主(pipconda命令下载),我纯是因为脑抽没搞清楚各个版本的对应关系,所以此处按上述把python配成3.6的,重新下载就好了
如果同样问题的小伙伴 还可以参考这个博主查的方法试一下:
大神

3.安好后,测试tf程序没问题了,但是由于降低了python版本,尝试之前的程序时开始报错:
ImportError: this version of pandas is incompatible with numpy < 1.12.0 your numpy version is 忘了. Please upgrade numpy to >= 忘了 to use this pandas version
看了一下
那就升版本吧:

pip uninstall numpy

pip install numpy

然后一些库就又出问题了(心力交瘁),就决定用到什么版本再改吧。。
比如:

第一个问题是:在命令后记得加=2020-resolver
第二个问题也是版本 来回卸载安装。。

然后!!!重点来了!!!我用navigator进入environments的时候,发现自己蠢的地方在于,虚拟环境虽然也装的3.6版本,可以和原环境完全不相关啊!我降什么原环境版本!(然后我又恢复了3.8,步骤同降版本,里面好像自动配的库会版本会更适用不少,而且3.6好像没pandas和matplotlib之类)。
pycharm进入setting的时候,也可以看到,而且对应所有库的版本也可以对照一下,一般tf安装的时候,部分配套的库自动就配好了,如果需要cv等其他的再自己配一下就好吧。。

如图(base和tf双环境):

改后:

4.憨憨的我经过反复下载安装,不知啥时候在base里也配了一次tf,于是乎一直pip uninstall tensorflow-gpu,直到显示下图为止

(但我回pycharm又手动看了一下,发现tensorboard还在。。不太清楚是不是还是没卸载干净)
5.有时pip命令会出现以下问题:You are using pip version 9.0.1, however version 20.2.3 is available. You should consider upgrading via the 'python -m pip install --upgrade pip' command.

更新版本吧。。而且好像看到很多人习惯用pip3(python3版本),好习惯TAT

望不吝赐教!

本文标签: 过程 Anaconda TensorFlow Keras GPU