前言
前段时间更新自己电脑上的tf1.4到1.9,没想到踩了这么多坑。。。特意记录下来希望可以帮到大家
删除旧版本
如果你电脑上没有安装旧版本的tf,就可以忽略这一步。我是因为想要升级到最新版本,所以需要先卸载旧版本。旧版本是用anaconda安装的,卸载很简单,首先进入安装tf的环境,我的环境是“tensorflow”:
activate tensorflow
然后卸载TensorFlow就好,或者直接删除这个tensorflow的环境,卸载tensorflow可以使用:
(tensorflow)pip uninstall tensorflow-gpu
前提是你安装的时候使用的是pip指令。直接删除环境可以使用:
conda env remove -n tensorflow
安装CUDA
要安装CUDA需要满足下面的四个条件:
- A CUDA-capable GPU (一个可以运行CUDA的显卡)
- A supported version of Microsoft Windows(一个支持CUDA的系统)
- A supported version of Microsoft Visual Studio(一个支持CUDA的VisualStudio)
- the NVIDIA CUDA Toolkit (available at http://developer.nvidia.com/cuda-downloads) (CUDA的安装文件)
这里需要注意的是,安装tensorflow-gpu1.9必须严格安装CUDA9.0,任何9.X都不可以,比如CUDA9.2什么的都不行,因为tensorflow会去寻找xxxx90.dll,如果是CUDA9.2之类的,这些dll的名称是xxxx92.dll,会报出找不到的错误。
还有一点需要注意,如果你的电脑上没有VS,那么你需要先去安装,请先自行下载安装VS2015,或者在我给出的链接中下载:
VS的安装需要一定的时间,请耐心等待。
如果你觉得前三个条件满足,那么就可以下载CUDA9.0了,下载地址是CUDA9.0,选择如下图所示,然后下载:
下载完成后,双击安装。这里又有一个坑,我的显卡是GTX 750M,直接选择“精简”模式的安装会报错导致不能安装,报错的原因是Visual Studio Intergration不能正确安装导致的失败。
你可以选择直接精简安装试试运气,也可以跟着我下面的教程选择“自定义”安装,下面介绍如何自定义安装:
- 在刚刚双击安装文件后,会让你找一个解压临时文件的路径,保存下这个路径:
- 抽取完成先进入这个路径,把里面的CUDAVisualStudioIntegration文件夹拷贝到其他地方保存,然后继续安装
- 选择自定义安装,点击下一步
- 除了Visual Studio Intergration其他的都打对勾,如下图所示:
-
完成后,我们需要手动安装之前没有安装的Visual Studio Intergration,进入以下路径:
C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\BuildCustomizations
-
将我们之前保存的那个CUDAVisualStudioIntegration文件夹中的\extras\visualstudiointegration\MSBuildExtensions下面的所有文件拷贝到上面的那个路径中去即可。
-
完成后,进入这个路径中,其中ProgramData是隐藏文件夹,看不到的话就去文件夹选项里勾选查看隐藏文件
C:\ProgramData\NVIDIA Corporation\CUDA Samples\v9.0\5_Simulations\nbody
-
因为之前安装的是VS2015,所以选择15的sln
- 接下来会打开VS2015,如果你的电脑上缺某些组件,这个时候VS会自动提醒你需要补充安装,安装即可。安装完成后在屏幕上方调成debug和x64
- 右击右侧的“解决方案”,选择生成解决方案进行编译
-
成功后进入路径
C:\ProgramData\NVIDIA Corporation\CUDA Samples\v9.0\bin\win64\Debug
-
双击运行刚刚编译得到的“nbody.exe”,得到下图所示表示安装成功CUDA
- PS:没意外的话不需要设置环境变量,安装的时候自动设置好了
安装cuDnn
cuDnn也请严格按照tf官网上的要求下载7.0版本的,不要下载7.X的,下载地址cuDnn
然后解压缩得到3个文件夹,将这3个文件夹里面的文件复制到CUDA安装路径下相应的文件夹里面即可。CUDA默认安装路径为:C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0,具体来说:
- 复制 \cuda\bin\cudnn64_7.dll 到 C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0\bin.
- 复制 \cuda\ include\cudnn.h 到 C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0\include.
- 复制 \cuda\lib\x64\cudnn.lib 到 C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0\lib\x64.
安装tensorflow-gpu
相比于之前繁琐的步骤,这里反而是最简单了的。请安装Anaconda,Anaconda实质上是一个Python包和版本管理工具。首先去官网下载Anaconda,然后安装,注意在某一个选项中勾选将anaconda加入到PATH中去(虽然anaconda不建议这么做,但是方便啊!),其他的全部选择默认选项即可,最多改一改安装路径,其他按照默认选项安装。
1、 用anaconda创建一个虚拟环境
C:> conda create -n tensorflow python=3.6
2、
在 Anaconda 中,您可以使用 conda 来创建一个虚拟环境。但是,在 Anaconda 内部,我们建议使用 pip install 命令来安装 TensorFlow,而不要使用 conda install 命令。
根据tf官方文件的建议,我们使用pip指令安装,但是同时,我们不要执行tf官方文档中的安装指令,因为那样安装太慢了,我们这里用豆瓣镜像去安装最新版本的tensorflow,瞬间就能安装好
(tensorflow)C:> pip install --index-url https://pypi.douban.com/simple tensorflow-gpu
3、 测试
这里使用PyCharm这个IDE来进行测试。首先创建一个空的Python工程,然后在setting中设置Python解释器为Python3.5的那个,然后创建一个空的Python文件,文件编入如下代码:
import tensorflow as tf
hello = tf.constant("Hello!TensorFlow")
sess = tf.Session()
print(sess.run(hello))
如果输出如下的话,就是成功安装了tensorflow了:
结语
至此就成功安装完毕啦,真的是坑好多。。。希望可以帮到你,如果出现其他意外,欢迎来信讨论解决
原文链接:https://antdlx.com/win10_tf19/