[人工智能-深度学习-41]:开发环境 - GPU进行训练安装与搭建(PytrochTensorFlowNvidia CUDA)详细过程
Posted 文火冰糖的硅基工坊
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[人工智能-深度学习-41]:开发环境 - GPU进行训练安装与搭建(PytrochTensorFlowNvidia CUDA)详细过程相关的知识,希望对你有一定的参考价值。
作者主页(文火冰糖的硅基工坊):文火冰糖(王文兵)的博客_文火冰糖的硅基工坊_CSDN博客
本文网址:https://blog.csdn.net/HiWangWenBing/article/details/121241620
目录
第2章 英伟达CUDA OS环境的安装(Tensorflow和Pytorch共用)
2.1 GPU硬件的安装与确认: 本文以台式机RTX2070为例
2.2 Nvidia GPU显卡硬件驱动的更新 (针对操作系统)
2.3 Nvidia GPU显卡硬件驱动的新安装 (硬件驱动程序库)
4.3 通过conda安装 cudatoolkit和cudnn (如果没有安装的话)
5.3 通过conda安装 cudatoolkit和cudnn (如果没有安装的话)
第1章 英伟达Nvidia CUDA 编程框架简介
1.1 概述
CUDA(Compute Unified Device Architecture),是显卡厂商NVIDIA推出的运算平台。
CUDA™是一种由NVIDIA推出的通用并行计算架构,该架构使GPU能够解决复杂的计算问题。 它包含了CUDA指令集架构(ISA)以及GPU内部的并行计算引擎。
开发人员现在可以使用C语言来为CUDA™架构编写程序,C语言是应用最广泛的一种高级编程语言。所编写出的程序于是就可以在支持CUDA™的处理器上以超高性能运行。CUDA3.0已经开始支持C++和FORTRAN和python。
计算行业正在从只使用CPU的“中央处理”向CPU与GPU并用的“协同处理”发展。为打造这一全新的计算典范,NVIDIA™(英伟达™)发明了CUDA(Compute Unified Device Architecture,统一计算设备架构)这一编程模型,是想在应用程序中充分利用CPU和GPU各自的优点。
现在,该架构已应用于GeForce™(精视™)、ION™(翼扬™)、Quadro以及Tesla GPU(图形处理器)上。
从上图可以看出,如果在CPU上运行(训练与预测),只需要到左侧的CPU环境,这个环境,在安装annacond的时候已经全部搞定。
然后, 如果需要在GPU上运行,不仅仅需要左侧的CPU,增加了右侧的GPU, 为了能够在使得CPU和GPU能够协同工作,从底层到应用层,都需要做适当的改进,才能够在GPU上正确的运行,包括操作层GPU的驱动程序、系统库层的GPU的系统库、算法库,这些是不同深度学习框架共有的,除此之外,不同的深度学习框架,也需要按照相应的库,以方便应用程序简洁的通过深度学习框架提供的API使用GPU或CPU进行训练与预测。
1.2 不同模块的版本制约关系
- GPU driver: 450.xx, 379x
- CUDA 版本: 10.x.x, 11.x.x
- cudnn版本: 7.6.x, 8.2.x
- Aannada版本: 4.x,
- Python版: 3.6.x, 3.7.x, 3.8
- Pytorch版本: 1.8.x , 1.9.x, 10.x
- Tensorflow版本: 1.x.x, 2.x.x
第2章 英伟达CUDA OS环境的安装(Tensorflow和Pytorch共用)
说明:本文以Windows10为例。
2.1 GPU硬件的安装与确认: 本文以台式机RTX2070为例
(1) 硬件说明
注意1:显卡驱动有笔记本和台式机的区别,官网下载驱动时请注意选择notebook版本还是默认的台式机版本
注意2:如果使用台式机出现黑屏情况,请将连接显示器的数据线接在CPU端口的核显上,安装好后再接在独显的端口上,HDMI、VGA、mDP的线都可以,看你的机器CPU和独显输出都有哪些端口
显卡型号:RTX2070
(2)硬件驱动的确认
在桌面上右击如果能找到NVIDA控制面板,则说明该电脑有GPU显卡。
控制面板如下,并通过查看系统信息获取该GPU硬件支持的Cuda并行计算开发框架的版本。
上图中,RTX2070 Super支持的驱动版本是496.13,这个版本会限定了CUDA的选择,不能选择过高的CUDA的版本,否则最新的CUDA功能将在此硬件上无法实现!!!
如果没有NVIDA控制面板,或看不到相应的硬件的驱动信息,就需要为NVIDA GPU安装特定操作系统的硬件驱动程序了。
2.2 Nvidia GPU显卡硬件驱动的更新 (针对操作系统)
说明:
由于CUDA并行框架的新功能依赖于硬件驱动的版本与功能。
因此如果充分利用CUDA的功能,最好能够升级硬件驱动到最新版本,然后在根据硬件驱动支持的最高版本,选择CUDA的版本。否则,高版本的CUDA的功能在低版本的驱动上无法实现!!!
2.3 Nvidia GPU显卡硬件驱动的新安装 (硬件驱动程序库)
(1)官网驱动下载地址:
https://www.geforce.cn/drivers
(2)选择GPU型号
(3)下载新驱动安装
(4)安装驱动程序
2.4 Nvidia Cuda 的安装(并行计算框架库)
说明:Cuda的版本越高,功能越强大与完善,但所需要的底层硬件驱动程序的版本就越高,因此Cuda要与硬件驱动的版本兼容。
低版本的硬件驱动,高版本的Cuda的功能无法得到实现。
因此,需要确保Cuda与硬件驱动的一致性。
(1)CUDA 版本与硬件驱动程序对应关系表官网
Release Notes :: CUDA Toolkit Documentation
(2)选择CUDA的版本
备注:CUDA的版本受限于硬件驱动的版本。
- 在本案例中,硬件支持的Windows驱动程序的最新版本是:496.13, Cuda的最高版本可以选择11.4以上的版本,也可以选择低于11.4的版本。
- 在硬件驱动版本限制的情况下,尽可能选择高一点版本的CUDU,以支持更多的功能。
(3)下载cuda(15分钟)
CUDA Toolkit 9.0 Downloads | NVIDIA Developerhttps://developer.nvidia.com/cuda-90-download-archive
- Local本地安装模式(适合没有网络的用户): 2.4G的大小,着实需要较长的下载时间,下载后安装比较快。
- Network网络安装模式(适合有网络的用户):文件比较小,安装时需要网络。
(4)安装(10分钟)
选择精简安装,这样节省空间。
(5)安装后的检查
安装好之后的环境变量默认包含:
CUDA_PATH:C:\\Program Files\\NVIDIA GPU Computing Toolkit\\CUDA\\v11.5
CUDA_PATH_V11.5:C:\\Program Files\\NVIDIA GPU Computing Toolkit\\CUDA\\v11.5
PATH:
C:\\Program Files\\NVIDIA GPU Computing Toolkit\\CUDA\\v11.5\\bin
C:\\Program Files\\NVIDIA GPU Computing Toolkit\\CUDA\\v11.5\\libnvvp
C:\\Program Files\\NVIDIA GPU Computing Toolkit\\CUDA\\v11.5\\extras\\CUPTI\\libx64(这个需要自己添加)
2.3 Nvidia cuDNN的安装(卷积库)
cudnn是pytorch搭建深度学习模型的依赖,没有它,不能运行卷积等操作。
目前下载cuDNN比较麻烦,要在官网注册,而且有时候网站打不开。
(1)官网下载地址:
cuDNN Archive | NVIDIA Developer
(2)版本选择
(3)下载
(4)安装(手工)
- 解压cuDNN后得到bin、include、lib三个文件夹
-
将bin下的cudnn64_7.dll拷贝到:C:\\Program Files\\NVIDIA GPU Computing Toolkit\\CUDA\\v10.0\\bin
-
将include下的cudnn.h拷贝到:C:\\Program Files\\NVIDIA GPU Computing Toolkit\\CUDA\\v10.0\\include
-
将lib\\x64下的cudnn.lib拷贝到:C:\\Program Files\\NVIDIA GPU Computing Toolkit\\CUDA\\v10.0\\lib\\x64
(5)安装后检查
第3章 通过清华镜像安装cuda和cudnn
3.1 主页
3.2 通过网站直接下载cuda window版本安装
3.3 通过网站直接下载cudnn windows版本安装
3.4 解压
3.5 安装
第4章 Pytorch 深度学习框架GPU库的安装
4.1 前提: 已经安装好了Anaconda的开发环
4.2 为Pytorch准备好虚拟环境
创建pytorch环境, 如:conda create -n pytorch1.8_py3.8
激活pytorch环境, 如:conda activate pytorch1.8_py3.8
4.3 通过conda安装 cudatoolkit和cudnn (如果没有安装的话)
conda install cudatoolkit=10.2 #在激活的环境中安装cudatoolkit (GPU 工具集)
conda install cudnn=7.6 #在激活的环境中安装cudnn (卷积库)
或者指定镜像地址
conda install cudatoolkit=10.2 -c https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/win-64/
4.4 安装 Pytorch GPU库(大致需要1小时)
(1)登录到官网
(2)获取conda的执行命令
安装pytorch最新版本: conda install pytorch torchvision torchaudio cudatoolkit=10.2 -c pytorch
( 去掉后面的 -c pytorch 就是只使用清华源,不去掉就是官方源也可能会用到)
备注:这个过程需要较长的时间,根据网络的情况,可能要数个小时。
- pytorch:pytorch基础库
- torchvision:图像处理图
- torchaudio:语音处理库
- cudatoolkit:cuda GPU工具链 (只包括深度学习框架自身提供的cuda工具链,不包括Nvidia提供的工具链)
4.5 验证pytorch GPU库的安装
- 进入python解析器
(pytorch1.8_py3.8) PS C:\\Users\\Administrator> python Python 3.8.10 (default, May 19 2021, 13:12:57) [MSC v.1916 64 bit (AMD64)] :: Anaconda, Inc. on win32
Type "help", "copyright", "credits" or "license" for more information.
- 导入pytorch库
>>> import torch
- 调用pytorch库函数,检查GPU是否支持。
>>> torch.cuda.is_available()
True
- 检查cuda的版本
>>> print(torch.version.cuda)
'10.2'
- 检察院cudnn版本
>>> torch.backends.cudnn.version()
7605
- 退出python解析器,回到conda环境
>>> quit()
第5章 Tensorflow 深度学习框架GPU库的安装
5.1 前提: 已经安装好了Anaconda的开发环
5.2 为tensorflow创建conda的虚拟项目环境
conda create -n tensorflow2.4_py3.8 python=3.8
conda activate tensorflow2.4_py3.8
5.3 通过conda安装 cudatoolkit和cudnn (如果没有安装的话)
conda install cudatoolkit==10.2 #在激活的环境中安装cudatoolkit (GPU 工具集)
conda install cudnn==7.6 #在激活的环境中安装cudnn (卷积库)
5.4 tensorflow的GPU的安装
pip install tensorflow-gpu # 安装tensorflow (gpu 基础库)
备注:
上述只包括深度学习框架自身提供的cuda工具链和cudnn库,不包括Nvidia提供的工具链和cudnn库。
5.5 验证
- 进入python解析器
(tensorflow2.4_py3.8) PS C:\\Users\\Administrator> python Python 3.8.10 (default, May 19 2021, 13:12:57) [MSC v.1916 64 bit (AMD64)] :: Anaconda, Inc. on win32
Type "help", "copyright", "credits" or "license" for more information.
- 导入tensorflow库
>>> import tensorflow as tf
- 调用tensorflow库函数,检查GPU是否支持。
>>> tf.__version__
'2.4.0'
>>> tf.__path__
- 检查是否支持GPU
>>> tf.test.is_gpu_available()
True
- 退出python解析器,回到conda环境
>>> quit()
作者主页(文火冰糖的硅基工坊):文火冰糖(王文兵)的博客_文火冰糖的硅基工坊_CSDN博客
本文网址:https://blog.csdn.net/HiWangWenBing/article/details/121241620
以上是关于[人工智能-深度学习-41]:开发环境 - GPU进行训练安装与搭建(PytrochTensorFlowNvidia CUDA)详细过程的主要内容,如果未能解决你的问题,请参考以下文章
物体检测快速入门系列-Windows部署Docker GPU深度学习开发环境
[人工智能-深度学习-38]:环境搭建 - 训练主机硬件选择全指南(CPU/GPU/内存/硬盘/电源)
[人工智能-深度学习-38]:英伟达GPU CUDA 编程框架简介