ToB企服应用市场:ToB评测及商务社交产业平台
标题:
如何快速在Ubuntu服务器上搭建GPU深度学习环境(TensorFlow版本)
[打印本页]
作者:
钜形不锈钢水箱
时间:
2024-10-8 21:35
标题:
如何快速在Ubuntu服务器上搭建GPU深度学习环境(TensorFlow版本)
前言
随着
AI
的迅速发展,主流的深度学习框架
Pytorch
和
TensorFlow
越来越被人熟知,笔者最近也需要基于
Ubuntu
服务器进行
深度学习环境
的搭建,作为一名刚涉及该范畴的Green Bird,天然遇到了很多题目,但自我探索和他人资助下也有了一些浅薄理解。
关于
Pytorch
和
TensorFlow
的区别和联系,可见如何对比现在最流行的两个深度学习框架:TensorFlow和PyTorch。
概念
网络上现在的相关教程相当繁杂,以是在
TensorFlow
环境的搭建之前,读者应先确定以下几点是否了解清楚。
关注现在搭建的
操纵体系
以及对应的
版本
:
Linux
,
Windows
,
macOS
,不同体系的
操纵
斜体样式
步骤
有很大差别
关注现在操尴尬刁难象的
版本
以及相互之间的
依赖关系
,比方关于Cuda和Cudnn的版本以及之间的
依赖关系
关注现在版本是支持
CPU
的照旧
GPU
的,或者是共同支持的
关注文件下载的
网络
题目,很多报错都是来自于网络以及
源
的题目
名词解释
pip
pip 是
Python
的
包管理工具
,用于安装、升级、卸载 Python 包或模块。它可以主动解决包之间的
依赖关系
,并且可以从
Python Package Index (PyPI)
以及
其他源
获取和安装包。
个人认为,
Conda
一定程度上代替了一部门
pip
的功能。
Anaconda
Anaconda 是一个开源的
Python
和
R 语言
发行版,用于数据科学、机器学习、科学计算和大数据处置处罚。它包罗了很多常用的
数据科学
和
机器学习
库,如
NumPy、Pandas、Matplotlib、Scikit-learn
等,以及
Jupyter Notebook
等工具。
那么为什么一定要在此处使用
Anaconda
呢?
集成环境:
Anaconda
提供了一个集成的环境,包罗
Python
或
R 解释器
、
常用库
、
开发工具
和
环境管理工具
,使得在数据科学和机器学习项目中更加方便快捷
包管理:
Anaconda
提供了
Conda
包管理器,可以方便地安装、更新、管理各种库和工具,解决了
依赖关系
和
版本兼容性
的题目。
个人认为这是选择使用它来管理机器学习库的最重要的长处之一
环境管理:
Anaconda
允许创建
多个独立的环境
,每个环境可以有本身的
库版本
和
依赖关系
,可以
制止
不同项目之间的
冲突
。
个人认为这是选择使用它来管理机器学习库的最重要的长处之二
跨平台支持:
Anaconda
可以在
Windows
、
macOS
和
Linux
等多个操纵体系上运行,为用户提供了
跨平台
的数据科学和机器学习开发环境
conda
conda 是一个开源的包管理和环境管理体系,主要用于
数据科学、机器学习和科学计算范畴
。它是
Anaconda
发行版的焦点组件之一,也可以作为独立的软件包安装。
简单来说,
conda
是
Anaconda
的焦点,以及下令实现。
GPU
GPU(
Graphics Processing Unit,图形处置处罚器
)是一种专门用于
处置处罚图形
和
图像计算
的
处置处罚器
。它最初是为了
加速计算机图形渲染
而设计的,用于
处置处罚3D图形、视频、游戏图形
等。与传统的
CPU
(
Central Processing Unit
,中心处置处罚器)相比,
GPU
具有更多的
并行处置处罚单元
和更高的
内存带宽
,使其在
处置处罚大规模并行计算使命
时具有更高的性能和服从。
在
深度学习范畴
,GPU扮演偏重要的角色,因为深度学习模型通常需要进行
大量的矩阵运算和并行计算
,而GPU的并行计算能力能够明显加速这些计算过程,从而加快模型的训练和推理速度。
通俗来讲,
GPU
也就是我们常说的
显卡
,主要的供应商便是
NVIDIA
,主要型号有很多,比方我们津津乐道的
GeForce RTX 4090
。
CUDA Driver
CUDA Driver是NVIDIA提供的软件驱动程序,用于与
CUDA-enabled GPU
(支持CUDA的GPU)进行通信和协作。这个驱动程序是必需的,因为它使得计算机的
操纵体系
和
CUDA应用程序
能够与
GPU
进行有用的交互,从而实现并行计算使命的加速。
CUDA
CUDA(
Compute Unified Device Architecture
)是由
NVIDIA
开发的
并行计算平台和应用程序编程接口
(
API
)。它允许开发者使用
C/C++、Python
等编程语言在NVIDIA的GPU上进行
并行计算
。CUDA提供了一系列库和工具,可以加速各种应用程序,包罗
科学计算、深度学习、图形处置处罚
等。通过
CUDA
,开发者可以利用
GPU
的
并行计算能力
来
加速复杂的计算使命
,提高程序的性能和服从。
CUDA Toolkit
CUDA Toolkit是
NVIDIA
提供的
软件套件
,用于开发基于
CUDA
(
Compute Unified Device Architecture
)的
并行计算应用程序
。它包罗了一系列的工具和库,资助开发者
利用
NVIDIA GPU
进行高性能的
并行计算
。
CUDA Toolkit
的
主要组件
包罗:
CUDA 编译器
(
nvcc
): 用于将CUDA C/C++代码编译成GPU可实验的二进制代码。
CUDA Runtime API
: 提供了一组
API
函数,用于
管理GPU装备、内存分配、数据传输
等操纵。
CUDA 核函数
(
Kernel
): 开发者可以编写CUDA核函数,这些函数在GPU上并行实验,用于
处置处罚大规模数据
并进行
并行计算
。
CUDA 库
: 包罗了
一系列优化的CUDA库
,如
线性代数库cuBLAS、快速傅立叶变更库cuFFT
等,可加速各种计算使命。
CUDA Debugger
(
cuda-gdb
)和
性能分析工具
(
nvprof
): 用于
调试CUDA程序和进行性能分析
,资助开发者优化程序性能。
其他更多的信息可见CUDA Toolkit官网。
cuDNN
cuDNN(
CUDA Deep Neural Network library
)是
NVIDIA
提供的
用于深度学习的加速库
。它提供了高效的
基本操纵实现
,如
卷积、池化、归一化
等,以及针对深度神经网络(DNN)的优化算法和工具。通过
cuDNN
,开发者可以利用
NVIDIA GPU
的
并行计算能力加速深度学习模型的训练和推理过程
,提高模型的性能和服从。
其他更多的信息可见cuDNN官网
关系
以上先容到的概念都会在关于GPU版本的深度学习框架下涉及到。
具体安装的流程图大体如下。
Anaconda和CUDA的关系
通俗来讲,深度学习框架的
版本更迭
较为迅速,
依赖关系
也比较重要,以是需要下载
Anaconda
来进行
假造环境的创建
和
方便的包管理
,以便于CUDA的后续操纵。
CUDA Toolkit和CUDA Driver的关系
CUDA Toolkit
的主要包罗了
CUDA-C
和
CUDA-C++编译器
、一些科学库和实用程序库、CUDA和library API的代码示例、和一些CUDA开发工具。(通常在安装
CUDA Toolkit
的时间会默认安装
CUDA
Driver
;但是我们经常只安装
CUDA Driver
,没有安装
CUDA Toolkit
,因为有时不一定用到
CUDA
Toolkit
;比如我们的笔记本电脑,安装个
CUDA Driver
就可正常看视频、办公和玩游戏了)
详细内容见NVIDIA官方
CUDA,CUDA Toolkit,cuDNN的关系
CUDA
平台一开始并没有安装
cuDNN
库,当开发者们需要用到深度学习
GPU
加速时才安装
cuDNN
库,工作速度相较
CPU
快很多。
这里是引用
cuDNN
是基于
CUDA
的深度学习GPU加速库,有了它才能在
GPU
上完成深度学习的计算;
CUDA
看作是一个工作台,上面配有很多工具,如锤子、螺丝刀等。
cuDNN
是基于
CUDA
的深度学习GPU加速库,有了它才能在GPU上完成深度学习的计算。它就相当于工作的工具,比如它就是个扳手。但是
CUDA
这个工作台买来的时间,并没有送扳手。想要在
CUDA
上运行深度神经网络,就要安装
cuDNN
,就像你想要拧个螺帽就要把扳手买回来。这样才能使GPU进行深度神经网络的工作,工作速度相较CPU快很多。
下载
下载环境
服务器平台
:Ubuntu 22.04
Conda Driver
:535
Anaconda
:conda 4.6.13
Python
:python
3.10.0
CUDA
:cuda 11.7
cuDNN
:cuDNN 8.9.7
TensorFlow
:tensorflow 2.12.0
下载方式
以下根据相关帖子进行下载
Anaconda
可以直接根据官网进行操纵Anaconda下载
下载竣事后可以通过conda --version 来进行查抄版本,是否安装成功
Conda Driver
可以参考:Conda Driver安装
最后使用nvidia-smi来检验安装是否成功
在此说明的是这里的 CUDA Version需要比接下来安装的CUDA的版本大或者相同,CUDA和CUDA Driver显卡驱动不是一一对应的,同一台电脑上可同时安装多个CUDA版本
CUDA/CUDA Toolkit
安装
CUDA
就是安装
CUDA Toolkit
(
CUDA
是运算平台名称、
CUDA Toolkit
是工具包),就是从官网下载
CUDA Toolkit
安装.run文件(如
cuda_11.7.176_384.81_linux.run
)进行安装。
安装成功后,在/usr/local路径下才会有cuda-11.7文件夹,且同时才可以使用nvcc -V或者nvcc --version
可以查询到CUDA版本。
可以参考Ubuntu22.04安装CUDA、cudnn详细步骤和最新CUDA环境设置教程(ubuntu 20.04 + cuda 11.7 + cuDNN 8.4)
cuDNN
现在官网下载对应版本cuDNN官网
然后进行解压拷贝
#版本根据自己的cuda对应
tar -xvf cudnn-linux-x86_64-8.9.7.27_cuda11.7-archive.tar.xz
cd cudnn-linux-x86_64-8.9.7.27_cuda11.7-archive
sudo cp lib/* /usr/local/cuda-11.7/lib64/
sudo cp include/* /usr/local/cuda-11.7/include/
sudo chmod a+r /usr/local/cuda-11.7/lib64/*
sudo chmod a+r /usr/local/cuda-11.7/include/*
复制代码
通过cat /usr/local/cuda/include/cudnn_version.h | grep CUDNN_MAJOR -A 2 检察版本
具体安装可以参考Linux体系中安装CUDA和cuDNN教程并查抄安装成功
TensorFlow
以上设置好后就可以自由地在本身的
conda
环境里设置
TensorFlow
了
# 如果下载过慢注意源的切换
conda install tensorflow==2.12.0 -i https://pypi.tuna.tsinghua.edu.cn/simple
复制代码
然后进入
python
进行
版本检察
python
复制代码
在
python
环境中
import tensorflow as tf
# 检查tensorflow是否得到CUDA支持,安装成功则显示true,否则为false
tf.test.is_built_with_cuda()
# 检查tensorflow是否可以获取到GPU,安装成功则显示true,否则为false
tf.test.is_gpu_available()
复制代码
版本对应
下载完成后,我们需要通过
TensorFlow
和
Python
的对应版原来确定创建的
Conda假造环境版本
,详细可见TensorFlow官网
可参考conda假造环境中安装cuda和cudnn,再也不消头疼版本号的题目了
后记
设置环境是一个繁琐的过程,但有时却不可或缺。网络上的帖子对于不同版本不同题目有很大的
范围性
和
时效性
,多实验多思考。
参考
[1] 理清GPU、CUDA、CUDA Toolkit、cuDNN关系以及下载安装
[2] 最新CUDA环境设置教程(ubuntu 20.04 + cuda 11.7 + cuDNN 8.4)
[3]AutoDL资助文档
[4]Linux(多用户下)检察cuda、cudnn版本、检察已经安装的cuda版本、切换不同版本cuda之间的切换等相关下令
[5]ubuntu22.04 cuda和cudnn安装和设置
[6]TensorRT安装
[7]nvidia驱动,cuda与cudnn的关系
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/)
Powered by Discuz! X3.4