由于我在安装Tensorflow-gpu的过程中,遇到了不少的问题,总的来说基本都是版本问题。所以在此记录一下,同时也希望你们能够少踩坑(别发疯)。
首先明确,要成功使用tensorflow-gpu版本,需要三个东西。
- CUDA:是NVIDIA发明了一种并行计算平台和编程模型。通过利用图形处理单元(GPU)的强大功能,它可以显着提高计算性能。
- cuDNN:是用于深度神经网络的GPU加速原语库。
- Tensorflow-gpu:是一个用于高性能数值计算的开源软件库(GPU版本)。
由于本篇文章的写作目的是为了告诉同样有使用tensorflow-gpu开源库的小伙伴如何去找符合自己配置的软件版本,重点就是版本问题,不同版本的tensorflow-gpu可能需要不同的CUDA和cuDNN。因为我自己在安装过程中因为版本问题,浪费了很多时间,不断地反复尝试各种版本,网络上提供详细的版本说明的安装教程比较少,而且我认为不能总是依赖别人的尝试,如果能知道如何去找到版本匹配信息,如何下载,整个过程是怎么的,可能会更加极客吧。所以,不想了解这些的小伙伴可以直接访问下方的网址来下载对应的文件。
判断电脑是否支持CUDA:https://developer.nvidia.com/cuda-gpus
CUDA与cuDNN的版本匹配列表:https://docs.nvidia.com/deeplearning/sdk/cudnn-support-matrix/index.html
CUDA:https://developer.nvidia.com/cuda-toolkit-archive
CUDA安装指南:https://docs.nvidia.com/cuda/archive/9.0/cuda-installation-guide-microsoft-windows/index.html
cuDNN:https://developer.nvidia.com/rdp/cudnn-archive
cuDNN使用指南:https://docs.nvidia.com/deeplearning/sdk/cudnn-install/index.html#installwindows
接下来,我来说明一下整个流程的操作。
先明确一点,先安装CUDA和cuDNN,再安装tensorflow-gpu。
我假设你们不想去记任何一个网址,所以我打算通过一次次的点击来告诉你们整个寻找的过程。
从www.baidu.com搜索英伟达(nvidia)
我们会看到大概这么一个界面
将鼠标放到开发者上,选择NVIDIA 开发者。
跳到这里
啊,竟然是英文!看不懂怎么办?
没关系,谷歌浏览器可以翻译(我为谷歌浏览器代言(●’◡’●))。
点击高性能计算
向下翻
点击CUDA Toolkit
接下来连续点
接下来就可以准备下载了
不过我们先停在这个界面
重新打开一个网页,进入英伟达开发者页面(忘记了就往前翻)
点击深度学习
向下翻
点击深度学习训练(Deep Learning Training)
继续点
点点点
啊哦,需要我们登录了。
我随便注册了一个账号登录之后,再进入就是这样的界面了
终于可以匹配版本了
等等!好像忘记了什么,tensorflow-gpu的版本还没有选择。
同样的百度搜tensorflow
不过这里cuDNN和CUDA的版本的细节我就不太清楚了,是不是整个7的大版本和9的发版本都可以,这个我没找到相关说明,那位大佬知道,希望能够留言。
我选择的是tensorflow-gpu-1.12.0、python3.6.2、cuDNN 7.5.0、CUDA 9.0
写下来就是下载了,分别是一个可执行文件、一个压缩包,tensorflow-gpu的安装有两种方式,在线安装(pip install tensorflow-gpu==1.12.0)或离线安装(下载tensorflow-gpu-*.whl)。
CUDA文件
cuDNN压缩包
下面进入安装环节
CUDA的安装教程看这里
这个就是安装文档,看不懂的同学可以翻译一下哦。
其实安装很简单,就是先检查你的GPU(显卡)是否支持CUDA,然后安装cuda*.exe可执行文件。cuda*.exe安装的过程就是勾选、下一步、下一步,都默认就行了。
cuDNN的安装教程看这里
cuDNN的使用简单来说就是复制cuda文件夹中的bin、include、lib这三个文件夹,然后在CUDA安装路径(大概在这个位置C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0)下进行粘贴,覆盖掉安装路径下对应的这三个文件夹,其实就是将cuda文件夹下的bin、include、lib\x64这个三个目录下的三个文件(cudnn64_7.dll、cudnn.h、cudnn.lib)分别复制到CUDA安装目录下的bin、include、lib\x64这三个目录下,只不过用文件夹的覆盖会比较方便,不用一个个复制粘贴。
(网络上很多教程都说要将cuda中的三个文件夹bin、include、lib\x64配置到Path环境中,不过我尝试了没有配置貌似也能正常使用)
进行到这一步,打开CMD,键入nvcc -V,回车。
nvcc -V
如果显示出了类似这样的信息,就表示CUDA安装成功了。
下一步就是安装tensotflow-gpu了
- 通过pip install tensorflow-gpu –upgarde进行安装
- 如果pip安装速度很慢的话,可以尝试离线安装。
打开www.pypi.org,搜索tensorflow-gpu。
选择第一个tensorflow-gpu-1.13.1
点击Release history
选择相应的版本
点击Download files
选择离线安装的文件
选择下载
然后打开CMD,输入pip install
pip install
将文件拖入CMD中
pip install whl文件名
然后直接回车就OK了。
开始测试
能正常导入和输出,就表示没问题。
告辞,再会。
等等,提一下,如果你在import的时候,出现类似这样的问题。
找不到指定模块
请先检查CUDA、cuDNN、tensorflow-gpu三个版本是否匹配。
其他的小错误,我就不一一说明了,一般只要版本没问题,基本上就不会出错。