安装思路

一般的教程都是先装cuda再装tensorflow/pytrch/keras,但是这样很容易造成版本不匹配!! 先确定tensorflow版本,由tf确定需要的cuda版本及cudnn版本,在去查看显卡驱动支不支持该cuda,不支持的话升级驱动。

由tensorfow确定cudn版本的方法:

安装tensorflow-gpu,安装完成后,import tensorflow,会报错,错误会提示,需要安装什么版本的cuda,如图:

TensorFlow和TensorFlow gpu 匹配_系统变量

截止2019-08-15,推荐直接pip install tensorflow安装tf1.14版本,配cuda10.0

安装默认已经装好了anaconda,使用anaconda prompt执行命令。

1、安装tensorflow

官网推荐创建虚拟环境:conda create -n tensorflow 进入虚拟环境:activate tensorflow pip install tensorflow-gpu 该命令是默认安装最新版本的tf,2019-08-15时,安装的是1.14版本,对应cuda是10.0。

2、查看驱动支持版本

先打开nVidia控制面板-帮助-系统信息-组件里面能看到支持的最新的cudn的版本

TensorFlow和TensorFlow gpu 匹配_系统变量_02

如果需要更新驱动,假如你的GPU卡是GeForce序列的,到https://www.geforce.com/drivers按你的机器的GPU卡的类型搜索对应的最新的driver,下载并安装即可,其他序列的去NVIDIA中国网页https://www.nvidia.cn/Download/index.aspx?lang=cn上按卡类型搜索最新的driver安装程序。

3、安装CUDA

去该网站上选择合适的版本

https://developer.nvidia.com/cuda-toolkit-archive

TensorFlow和TensorFlow gpu 匹配_系统变量_03

这是Windows10-64位本地exe程序安装

然后下载

然后直接安装就行安装完成之后,下一步需要配置环境变量。

如果安装成功,系统变量会多出两个为

TensorFlow和TensorFlow gpu 匹配_python_04

还需要自己添加几个系统变量

CUDA_SDK_PATH = C:\ProgramData\NVIDIA Corporation\CUDA Samples\v10.0(这是默认安装位置的路径,如果自己路径设置安装成功的话就用自己的路径)

CUDA_LIB_PATH = %CUDA_PATH%\lib\x64

CUDA_BIN_PATH = %CUDA_PATH%\bin

CUDA_SDK_BIN_PATH = %CUDA_SDK_PATH%\bin\win64

CUDA_SDK_LIB_PATH = %CUDA_SDK_PATH%\common\lib\x64

添加好之后应该像下面这样。

TensorFlow和TensorFlow gpu 匹配_深度学习_05

下一步在系统变量PATH里添加东西。找到系统变量的PATH双击。

TensorFlow和TensorFlow gpu 匹配_python_06

添加下列东西。

%CUDA_LIB_PATH%

%CUDA_BIN_PATH%

%CUDA_SDK_LIB_PATH%

%CUDA_SDK_BIN_PATH%

C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0\lib\x64 这些均为默认路径,有需要的话自行修改

C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0\bin

C:\ProgramData\NVIDIA Corporation\CUDA Samples\v10.0\common\lib\x64

C:\ProgramData\NVIDIA Corporation\CUDA Samples\v10.0\bin\win64

TensorFlow和TensorFlow gpu 匹配_CUDA_07

添加完之后CUDA就算安装完成了。我们可以检验是否安装成功。

打开CMD,cd到C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0\extras\demo_suite (这是默认路径)

分别执行命令:bandwidthTest.exe

deviceQuery.exe

若分别返回

TensorFlow和TensorFlow gpu 匹配_CUDA_08

则代表CUDA9.0安装成功。

TensorFlow和TensorFlow gpu 匹配_深度学习_09

4、Cudnn安装

Cudnn的下载需要登录,自己注册一个账号 下载地址:https://developer.nvidia.com/rdp/cudnn-download 下载下来是一个压缩包,里面是三个文件夹,里面各有一个文件

如果第一步安装CUDA没有修改安装路径,执行以下操作:

①复制 cudnn\bin\cudnn64_5.dll 到 C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0\bin ②复制 cudnn\include\cudnn.h 到 C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0\include ③复制 cudnn\lib\x64\cudnn.lib 到 C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0\lib\x64\

5、出现的问题:

1)ERROR:twisted 18.7.0 requires PyHamcrest>=1.9.0 ,which is not install

TensorFlow和TensorFlow gpu 匹配_tensorflow_10

a) 下载对应的Twisted,下载地址:https://www.lfd.uci.edu/~gohlke/pythonlibs/#twisted

b) 2.通过Anaconda3的Anaconda Prompt进行安装

c) 3.具体步骤: cd 下载的文件地址,如本人的:cd F:\下载, pip install Twisted-19.2.1-cp37-cp37m-win_amd64.whl

2)cannot uninstall wrapt. it is a distutils installed project and thus

解决方案: pip install -U --ignore-installed wrapt enum34 simplejson netaddr

参考:

3)执行import tensorflow时会报如下错误:

FutureWarning: Passing (type, 1) or ‘1type’ as a synonym of type is deprecated; in a future version of numpy, it will be understood as (type, (1,)) / ‘(1,)type’. np_resource = np.dtype([(“resource”, np.ubyte, 1)])

TensorFlow和TensorFlow gpu 匹配_python_11

因为numpy的版本过高1.17版本,执行:

pip uninstall numpy

pip install numpy==1.16

6、pytorch安装

安装确定好cuda+cudnn的版本之后,进入pytorch的官网,后选择系统、py版本等,就直接在pip安装就ok了,比TF简单多了~

我用conda安装遇到了这个问题,但是该目录下是有这个dll的。

TensorFlow和TensorFlow gpu 匹配_tensorflow_12

7 Keras安装

因为keras是以tensorflow为后台的,所以安装好tensorflow之后,直接pip install keras即可安装成功。

注意!!!

注:这里使用pip安装而不是使用conda,原因是使用conda安装会默认安装cpu版本的tensorflow,如下图所示:

TensorFlow和TensorFlow gpu 匹配_系统变量_13

使用conda安装会提示安装其他依赖包,如下图所示;这其中就包括cpu版本的tensorflow,这是我们不想要的。 所以千万不要使用conda命令安装keras,说起来都是泪。。。