一、电脑配置
系统:WIN10 64位 教育版
显卡:NVIDIA GeForce GTX 960 2GB
二、安装内容
CUDA 9.0
cudnn-9.0-windows10-x64-v7.5.0.56
Anaconda3-4.2.0-Windows-x86_64(Python 3.5.2)
tensorflow-gpu 1.8.0
Keras
Visual Studio 2017
版本2:在1660ti显卡上进行安装
cuda_10.0.130_411.31_win10
cudnn-10.0-windows10-x64-v7.6.1.34.zip
Anaconda3-4.2.0-Windows-x86_64(Python 3.5.2)
tensorflow-gpu 1.13.1
三、配置过程
1、安装Visual Studio 2017
https://docs.microsoft.com/en-us/visualstudio/productinfo/installing-an-earlier-release-of-vs2017#top
2、安装CUDA
首先在确定你的显卡是否支持CUDA,如果显卡在列表中则说明支持CUDA。
查看地址:https://developer.nvidia.com/cuda-gpus
然后查看显卡支持的CUDA版本,方法是进入控制面板==>NVIDIA控制面板==>帮助==>系统信息==>组件==>NVCUDA.DLL==>产品名称。要安装显卡支持的CUDA版本,才能进行后续的配置。
CUDA下载地址 https://developer.nvidia.com/cuda-toolkit-archive,选择对应版本下载。 这里有一个基础的安装包和4个补丁,全部下载下来,点击安装即可
安装之前会检查系统兼容性,如果不兼容,否则就要换成其他版本的CUDA。
检查系统兼容性 → 许可协议“接受”→ 选择“自定义安装”,点开+号,把Visual Studio Integration的勾选去掉(否则你机器上安装的Visual Studio版本不对或者没有安装时,下一步会报错导致你安装不下去) → 安装即可
安装完成后打开命令行,输入”nvcc -V”,验证是否安装成功。 (我在这一步时一直提示不是内部命令,貌似是不影响,后来也成功了)
3、配置CUDA
(不确定是否需要这一步,应该是会自动添加到环境变量中,保险起见,我照着配置了)
安装成功后在我的电脑上右键,打开属性==>高级系统设置==>高级==>环境变量,可以看到系统中多了两个环境变量:CUDA_PATH 和 CUDA_PATH_V9_2,接下来我们添加如下几个环境变量:
CUDA_BIN_PATH = %CUDA_PATH%\bin
CUDA_LIB_PATH = %CUDA_PATH%\lib\x64
CUDA_SDK_PATH = C:\ProgramData\NVIDIA Corporation\CUDA Samples\v9.2
CUDA_SDK_BIN_PATH = %CUDA_SDK_PATH%\bin\win64
CUDA_SDK_LIB_PATH = %CUDA_SDK_PATH%\common\lib\x64
打开命令行,输入”set cuda”查看配置情况,如下图所示说明配置成功。 (这里的图片用的网上的,只有v9.0和v9.2的区别)
或者,我们也可以进入 C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.2\extras\demo_suite 目录,使用命令行运行 bandwidthTest 和 deviceQuery,若能看到显卡信息和 “Result = PASS”,说明CUDA配置成功。
4、下载并配置cuDNN
cuDNN是专门针对Deep Learning框架设计的一套GPU计算加速方案,它优化了一些常用的神经网络操作,比如卷积、池化、Softmax以及激活函数等,可将其视为CUDA的补丁。
下载地址为 https://developer.nvidia.com/rdp/cudnn-archive ,首先要注册账号,然后根据之前安装的CUDA版本选择相应版本的cuDNN。
CUDA 9.0的默认路径是
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0
把cudnn-9.0-windows10-x64-v7.1.zip解压后,把bin,include,lib\x64里面的文件(共三个)分别拷贝到
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0\下的bin,include,lib\x64目录下即可。
5、安装并配置 Anaconda
Anaconda是Python的一个发行版本,提供包管理与环境管理的功能,并集成了一些常用的科学计算、机器学习和数据处理等工具包,无需自己安装,使用起来很方便。选择的是4.2.0(Python3.5.2) 64位版。
下载地址:https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/
打开命令行,输入”python –version”。
6、安装 tensorflow-gpu
先在命令行中输入以下命令:
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --set show_channel_urls yes
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/msys2/
然后升级pip:python -m pip install --upgrade pip
接着,输入 pip install -i https://pypi.tuna.tsinghua.edu.cn/simple tensorflow-gpu==1.8.0 (将下载源换成了国内镜像,速度很快)
下载速度很快,等待安装即可。
试验一下安装成功没有:打开命令行,输入”python”进入python环境,然后输入”import tensorflow as tf”,若能正常导入tensorflow包说明安装成功,如下图所示。
7、安装 keras
打开命令行,输入”pip install keras”即可。然后打开命令行,输入”python”进入python环境,然后输入”import keras”,若能正常导入keras包说明安装成功,如下图所示。
这里的这种安装方式并没有像一些博客那样重新建立一个新的环境,如果新建一个环境,还需要用conda install spyder,我在这一步一直没有安装成功,所以就在原始环境中安装。
四、GPU运行测试
import tensorflow as tf
a = tf.test.is_built_with_cuda() # 判断CUDA是否可以用
b = tf.test.is_gpu_available(
cuda_only=False,
min_cuda_compute_capability=None
) # 判断GPU是否可以用
print(a)
print(b)
输出结果是:
True
True
代表CUDA和GPU可用
参考的文章:
https://blog.csdn.net/qq_32728345/article/details/81570504
https://blog.csdn.net/xiaohuihui1994/article/details/83589701
https://blog.csdn.net/weixin_42359147/article/details/80622306
https://blog.csdn.net/ccnucb/article/details/79873460
https://blog.csdn.net/qq_37791134/article/details/81605721
https://blog.csdn.net/gangeqian2/article/details/79358543
https://blog.csdn.net/XCCCCZ/article/details/80385448
https://blog.csdn.net/he5688/article/details/77542011
https://www.jianshu.com/p/41281c023d30
https://www.cnblogs.com/lanceyu/p/10269918.html
https://www.cnblogs.com/hezhiyao/p/8292512.html
https://blog.csdn.net/u010099080/article/details/53418159
https://blog.csdn.net/hy13684802853/article/details/80386949
https://www.cnblogs.com/AriesQt/p/6773811.html
https://blog.csdn.net/witnessai1/article/details/75979719
https://www.cnblogs.com/xingshansi/p/6725298.html
https://blog.csdn.net/u014159143/article/details/82346652
https://blog.csdn.net/qq_27245699/article/details/81050035