目录
配置环境
1. 安装Anaconda
2. 安装 Visual Studio
3. 安装 CUDA
4. 安装 CUDNN
5. 安装 TensorFlow-GPU
最近需要使用TensorFlow来做一个项目,因此涉及大量的矩阵运算,但如果仅仅使用CPU来运算,训练的时间就会比较久。虽然可以借助谷歌的colab平台来进行在线的训练,但是始终有各种各样的限制。所以直接使用本地的GPU来做相对来说会比较方便快捷一些。但是,要想使用本地的GPU,还需经过九九八十一难,各种各样的环境配置和软件安装。这也是我第一次在本地配置这样的环境,经过各种各样的坑之后,终于配置完成了,在此跟大家详细的分享一下我配置的整个过程。
在配置环境之前,需要确保自己的电脑能够使用CUDA。首先需要确认自己的电脑是有NVIDIA显卡,如果没有,那么你就无法安装CUDA了,CUDA是NVIDIA提供的专门面向编程的加速库,其他品牌的显卡是不能安装的,这个时候你就只能安装TensorFlow CPU的版本。
CUDA、cuDNN和tensorflow-gpu之间是需要对应版本的,但是在官网给出的对应关系中没有CUDA10.1的对应TensorFlow版本。不过在“GPU支持”介绍中提到“TensorFlow 支持 CUDA 10.1(TensorFlow 2.1.0 及更高版本)”,所以安装CUDA 10.1+TensorFlow 2.1.0以上版本是兼容的。
配置环境
- Windows 10 64位
- Anaconda 1.9.12
- Visaul Studio 2017
- Python 3.7
- CUDA Toolkit 10.1.120
- CUDNN 7.6.1.34
- TensorFlow-GPU 2.3.0
1. 安装Anaconda
在此之前我的电脑就已经安装使用了Anaconda,所以关于Anaconda的安装步骤,百度上有很多教程,大家可以另行搜索,这里就不再赘述了。
2. 安装 Visual Studio
安装Visual Studio,主要为了配合CUDA安装,也有人说其实可以不安装VS,不安装VS的话,在安装CUDA的时候需要把Visual Studio Intergration 这个选项去掉。但是为了确保CUDA的功能使用,我还是选择安装。VS还是有兼容性问题的,为了保险起见,我还是下载一个相对比较新的版本,目前最新的是2019版,但最新的版本可能不太稳定,综合考虑下还是选择visual_studio_community_2017版的。
Visual Studio可直接在官网(https://visualstudio.microsoft.com/zh-hans/)下载, 从 Visual Studio 2017 开始,就集成了Python模块用于对机器学习的支持,其安装方式也新增了在线安装,安装时可以选择需要的组件进行安装即可,这里需要选择C++桌面开发和Python开发。安装界面如下:
3. 安装 CUDA
CUDA(Compute Unified Device Architecture),是显卡厂商NVIDIA推出的运算平台。 CUDA™是一种由NVIDIA推出的通用并行计算架构,该架构使GPU能够解决复杂的计算问题。 CUDA的下载地址在:https://developer.nvidia.com/cuda-downloads。
(1)首先需要查看自己电脑的NVIDIA显卡支持的 CUDA 版本,打开 NVIDIA 控制面板—系统信息—组件。
这里我电脑对应的就是的10.1版本,下载地址:https://developer.nvidia.com/cuda-10.1-download-archive-base。安装类型包括 在线安装 和 本地安装,在网速允许的情况下可以选择在线安装。
(2)在安装之前,要先关闭360等一些安全软件,否则很可能提示组件安装失败。 安装空间大概几个G,要是C盘空间足够,最好选择默认的安装位置,避免不必要的环境配置问题。但是在安装的时候最好选择自定义安装,因为里面默认选项需要修改。
NVIDIA GeForece Experience co...这个选项可以去掉。
另外如果你的电脑没有按照VS的话,下面的Visual Studio Intergration 这个选项也要去掉,否则就会安装失败。
最后需要确认一下CUDA自带的NVIDIA驱动版本是小于还是大于你电脑已有的版本:如果CUDA自带驱动版本小于你电脑版本的话,下图的这个选项必须去掉,不然同样也会导致安装失败;但如果CUDA自带驱动版本跟你电脑原本的驱动版本一致或者更新的话,这个选项可选可不选。这里我的电脑属于一种情况,就必须去掉这个选项。
(3)安装过程大概需要几分钟,如果安装成功的话,在默认安装路径C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1\bin里面会有mvcc.exe编译器以及在C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1\extras\CUPTI\lib64中会有cupti_101.dll动态库。
4. 安装 CUDNN
对于tensorflow而言,真正实现加速的是cudnn,然后cudnn调用的是cuda显卡驱动。所以最后我们要配置cudnn这个模块。
cuDNN的全称为NVIDIA CUDA® Deep Neural Network library,是NVIDIA专门针对深度神经网络(Deep Neural Networks)中的基础操作而设计基于GPU的加速库。cuDNN为深度神经网络中的标准流程提供了高度优化的实现方式,例如convolution、pooling、normalization以及activation layers的前向以及后向过程。
(1) 选择与 CUDA 版本想匹配的 cuDNN 版本,这里我选择cuDNN v7.6.5的版本,下载前需要先在官网进行注册。
(2)下载后解压,将文件里面的cuda文件重命名为cudnn,然后整个复制到C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1里面,同时需要将重命名后的cudnn文件夹的bin里面的cudnn64_7.dll复制到C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1\bin里面(之前看某个B站的视频介绍没有这一步,然后加载TensorFlow后无法使用GPU)。
(3)配置环境变量:在桌面上右击我的电脑,选择属性—高级系统设置—环境变量—系统变量—Path,添加C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1\extras\CUPTI\lib64和C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1\cudnn两个路径,并将添加的两个路径上移到前面两个变量(在安装过程中系统已经自动配置的)路径之下。
(4)测试Cuda是否安装成功:打开命令提示符(win+r,后输入cmd,或者在电脑左下角的搜索框输入cmd直接搜索),输入:nvcc -V,出现如下类似信息说明cuda安装和路径配置成功。
5. 安装 TensorFlow-GPU
(1)安装TensorFlow-GPU可以打开Anaconda Prompt (Anaconda3)使用pip安装。
采用pip安装python包,如果源为国外的,下载速度比较慢,可以更换为国内源。临时使用清华源的格式如下:pip install -i https://pypi.tuna.tsinghua.edu.cn/simple (python包)。这里我输入的是:pip install -i https://pypi.tuna.tsinghua.edu.cn/simple tensorflow-gpu。如果不指定版本的话,默认安装最新的tensorflow 版本。
pip安装过程大部分都不大可能顺利一次安装成功,经常会报各种错,大家习惯了就好。如果不知道怎么解决,直接百度就好了,基本都能解决。
(2)TensorFlow测试:打开命令提示符,输入ipython按回车,然后输入 import tensorflow as tf按回车,没有报错,说明tensorflow安装成功,如果这里报了numpy错误的话可能需要升级一下numpy,然后输入tf.test.is_gpu_available()再按回车,如果输出为True的话说明全部配置成功。
到此,就大功告成了。