ToB企服应用市场:ToB评测及商务社交产业平台

标题: 如何快速在Ubuntu服务器上搭建GPU深度学习环境(TensorFlow版本) [打印本页]

作者: 钜形不锈钢水箱    时间: 2024-10-8 21:35
标题: 如何快速在Ubuntu服务器上搭建GPU深度学习环境(TensorFlow版本)
前言

   随着AI的迅速发展,主流的深度学习框架PytorchTensorFlow越来越被人熟知,笔者最近也需要基于Ubuntu服务器进行深度学习环境的搭建,作为一名刚涉及该范畴的Green Bird,天然遇到了很多题目,但自我探索和他人资助下也有了一些浅薄理解。
关于PytorchTensorFlow的区别和联系,可见如何对比现在最流行的两个深度学习框架:TensorFlow和PyTorch。
  概念

网络上现在的相关教程相当繁杂,以是在TensorFlow环境的搭建之前,读者应先确定以下几点是否了解清楚。

名词解释

pip

pip 是 Python包管理工具,用于安装、升级、卸载 Python 包或模块。它可以主动解决包之间的依赖关系,并且可以从 Python Package Index (PyPI) 以及其他源获取和安装包。
个人认为,Conda一定程度上代替了一部门pip的功能。
Anaconda

Anaconda 是一个开源的 PythonR 语言发行版,用于数据科学、机器学习、科学计算和大数据处置处罚。它包罗了很多常用的数据科学机器学习库,如 NumPy、Pandas、Matplotlib、Scikit-learn 等,以及 Jupyter Notebook 等工具。
   那么为什么一定要在此处使用Anaconda呢?
  
conda

conda 是一个开源的包管理和环境管理体系,主要用于数据科学、机器学习和科学计算范畴。它是 Anaconda 发行版的焦点组件之一,也可以作为独立的软件包安装。
   简单来说,condaAnaconda的焦点,以及下令实现。
  GPU

GPU(Graphics Processing Unit,图形处置处罚器)是一种专门用于处置处罚图形图像计算处置处罚器。它最初是为了加速计算机图形渲染而设计的,用于处置处罚3D图形、视频、游戏图形等。与传统的CPUCentral 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提供的软件套件,用于开发基于CUDACompute Unified Device Architecture)的并行计算应用程序。它包罗了一系列的工具和库,资助开发者利用NVIDIA GPU进行高性能的并行计算
CUDA Toolkit主要组件包罗:

其他更多的信息可见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-CCUDA-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快很多。
  下载

下载环境


下载方式

   以下根据相关帖子进行下载
  Anaconda

可以直接根据官网进行操纵Anaconda下载
下载竣事后可以通过conda --version 来进行查抄版本,是否安装成功
Conda Driver

可以参考:Conda Driver安装
最后使用nvidia-smi来检验安装是否成功

在此说明的是这里的 CUDA Version需要比接下来安装的CUDA的版本大或者相同,CUDA和CUDA Driver显卡驱动不是一一对应的,同一台电脑上可同时安装多个CUDA版本
CUDA/CUDA Toolkit

   安装CUDA就是安装CUDA ToolkitCUDA是运算平台名称、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


  1.         #版本根据自己的cuda对应
  2.         tar -xvf cudnn-linux-x86_64-8.9.7.27_cuda11.7-archive.tar.xz
  3.         cd cudnn-linux-x86_64-8.9.7.27_cuda11.7-archive
  4.         sudo cp lib/* /usr/local/cuda-11.7/lib64/
  5.         sudo cp include/* /usr/local/cuda-11.7/include/
  6.         sudo chmod a+r /usr/local/cuda-11.7/lib64/*
  7.         sudo chmod a+r /usr/local/cuda-11.7/include/*
复制代码

TensorFlow

以上设置好后就可以自由地在本身的conda环境里设置TensorFlow
  1. # 如果下载过慢注意源的切换
  2. conda install tensorflow==2.12.0 -i https://pypi.tuna.tsinghua.edu.cn/simple
复制代码
然后进入python
进行版本检察
  1. python
复制代码
python
环境中
  1. import tensorflow as tf
  2. # 检查tensorflow是否得到CUDA支持,安装成功则显示true,否则为false
  3. tf.test.is_built_with_cuda()
  4. # 检查tensorflow是否可以获取到GPU,安装成功则显示true,否则为false
  5. tf.test.is_gpu_available()
复制代码
版本对应

下载完成后,我们需要通过TensorFlowPython的对应版原来确定创建的Conda假造环境版本,详细可见TensorFlow官网

可参考conda假造环境中安装cuda和cudnn,再也不消头疼版本号的题目了
后记

设置环境是一个繁琐的过程,但有时却不可或缺。网络上的帖子对于不同版本不同题目有很大的范围性时效性,多实验多思考。
参考



免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4