博主装的应该的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
是退出环境
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
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
移除环境,再重新配环境,下载。。
我的报错原因不同于博主(pip
改conda
命令下载),我纯是因为脑抽没搞清楚各个版本的对应关系,所以此处按上述把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
望不吝赐教!