英伟达显卡深度学习训练微调环境安装清单

可以考虑 安装完操作系统后,安装更新及其他基础软件如gcc cmake, 再安装英伟达几件套(这里列出了四个) 如果自带的python版本在3.8或以上,再安装python常用库。 python版本不能太低,看你要跑的代码的需求了。

|-----|--------------|------------------------------------------|--------------------------------------|--------------------------------------------------|------------|
| 顺序号 | 名称 | 全称 | 简要描述 | 包样例(后面的数字可能变化) | 安装后检查命令 |
| 1 | 显卡驱动 |   | 好比是一个接口,提供 使用GPU 的能力 | NVIDIA-Linux-x86_64-535.113.01.run | nvidia-smi |
| 2 | cuda toolkit | Compute Unified Device Architecture | 这个工具集 提供了很多的工具和库,让你使用GPU时 不用从头开始造轮子。 | cuda_11.7.0_515.43.04_linux.run | nvcc -V |
| 3 | cudnn | CUDA Deep Neural Network library | 对深度学习中的卷积、池化、归一化等常用操作做了特别优化。 | cudnn-linux-x86_64-8.8.1.3_cuda11-archive.tar.xz |   |
| 4 | nccl | NVIDIA Collective Communications Library | 用于加速多GPU之间通信的库, 单卡 可以不用安装。 | nccl_<version>_.txz | nccl-tests |

新手可能分不清这些包之间的关系,这这个表格可以简单快速的了解安装步骤清单,需要的包也可以提前准备下。 其中cudnn及nccl的包一定要注册才能下载..。单机单卡可以不用装nccl。有版本配套关系可以提前查询确定的。 好多教程都有,这里不列了。

一些说明记录:

一:

安装驱动可能会有报错: ERROR: The Nouveau kernel driver is currently in use by your system. This driver is incompatible with the NVIDIA driver, and must be disabled before proceeding. 解决这个错误需要禁用 系统自带的nouveau驱动,具体的操作搜一下有很多。

安装完成后记得用 nvidia-smi命令检查结果,再进入下一步

二:

CUDA是运算平台名称、CUDA Toolkit是工具包。如果有的文章写 如何安装cuda / 如何安装 cuda toolkit,可以当成是同一样东西。

NVCC就是CUDA的编译器, 类似于gcc就是c语言的编译器。

每个CUDA的版本(cudatoolkit)会要求一个 最低的显卡驱动版本;

而显卡驱动会提供一个 最高支持的CUDA 版本。

CUDA有两种API,分别是 运行时API和驱动API:Runtime API 与 Driver API。

nvcc的结果是对应 CUDA Runtime API(运行API)的版本

nvidia-smi是 CUDA Driver API(驱动API)的版本,也是 当前驱动支持的 最高CUDA版本

安装cuda成功 会提示:

===========

= Summary =

===========

Driver: Installed

Toolkit: Installed in /usr/local/cuda-11.7/

Please make sure that

  • PATH includes /usr/local/cuda-11.7/bin

  • LD_LIBRARY_PATH includes /usr/local/cuda-11.7/lib64, or, add /usr/local/cuda-11.7/lib64 to /etc/ld.so.conf and run ldconfig as root

To uninstall the CUDA Toolkit, run cuda-uninstaller in /usr/local/cuda-11.7/bin

To uninstall the NVIDIA Driver, run nvidia-uninstall

Logfile is /var/log/cuda-installer.log

如果没有出现这个提示,要你去看日志,应该是没装成功的,本人之前遇到的错误主要还是与驱动安装有关,可能之前的没有卸载干净。

加入环境变量后, 记得source /etc/profile

vi /etc/profile

export PATH=$PATH:/usr/local/cuda-11.7/bin

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-11.7/lib64

安装完成后记得用nvcc --version命令检查结果,再进入下一步。

三:

cudnn的安装主要是替换和加多头文件及包。很多安装指导解包后都是下面两步:

tar -xf cudnn-linux-x86_64-8.8.1.3_cuda11-archive.tar.xz

cp cudnn-linux-x86_64-8.8.1.3_cuda11-archive/include/* /usr/local/cuda/include/

cp cudnn-linux-x86_64-8.8.1.3_cuda11-archive/lib/libcudnn* /usr/local/cuda/lib64/

sudo chmod a+r /usr/local/cuda/include/*.h

sudo chmod a+r /usr/local/cuda/lib64/libcudnn*

执行完以后,可以再运行sudo ldconfig 看看有没有报错。

如果有报错:

/sbin/ldconfig.real: /usr/local/cuda-11.7/targets/x86_64-linux/lib/libcudnn_cnn_train.so.8 不是符号链接

/sbin/ldconfig.real: /usr/local/cuda-11.7/targets/x86_64-linux/lib/libcudnn_cnn_infer.so.8 不是符号链接

/sbin/ldconfig.real: /usr/local/cuda-11.7/targets/x86_64-linux/lib/libcudnn.so.8 不是符号链接

/sbin/ldconfig.real: /usr/local/cuda-11.7/targets/x86_64-linux/lib/libcudnn_ops_train.so.8 不是符号链接

/sbin/ldconfig.real: /usr/local/cuda-11.7/targets/x86_64-linux/lib/libcudnn_ops_infer.so.8 不是符号链接

/sbin/ldconfig.real: /usr/local/cuda-11.7/targets/x86_64-linux/lib/libcudnn_adv_train.so.8 不是符号链接

/sbin/ldconfig.real: /usr/local/cuda-11.7/targets/x86_64-linux/lib/libcudnn_adv_infer.so.8 不是符号链接

ll看一下 解包后的文件,有很多是链接,但拷过去的不是链接。

解包后的:

拷贝过去的:

我用的最基本的方法,重新建链接。 考虑 试情况执行:

cd /usr/local/cuda/lib64/ (cd到拷贝后的目标目录)

rm -f libcudnn_adv_infer.so libcudnn_adv_infer.so.8

rm -f libcudnn_adv_train.so libcudnn_adv_train.so.8

rm -f libcudnn_cnn_infer.so libcudnn_cnn_infer.so.8

rm -f libcudnn_cnn_train.so libcudnn_cnn_train.so.8

rm -f libcudnn_ops_infer.so libcudnn_ops_infer.so.8

rm -f libcudnn_ops_train.so libcudnn_ops_train.so.8

rm -f libcudnn.so libcudnn.so.8

ln -s "libcudnn_adv_infer.so.8.8.1" libcudnn_adv_infer.so.8

ln -s libcudnn_adv_infer.so.8 libcudnn_adv_infer.so

ln -s "libcudnn_adv_train.so.8.8.1" libcudnn_adv_train.so.8

ln -s libcudnn_adv_train.so.8 libcudnn_adv_train.so

ln -s "libcudnn_cnn_infer.so.8.8.1" libcudnn_cnn_infer.so.8

ln -s libcudnn_cnn_infer.so.8 libcudnn_cnn_infer.so

ln -s "libcudnn_cnn_train.so.8.8.1" libcudnn_cnn_train.so.8

ln -s libcudnn_cnn_train.so.8 libcudnn_cnn_train.so

ln -s "libcudnn_ops_infer.so.8.8.1" libcudnn_ops_infer.so.8

ln -s libcudnn_ops_infer.so.8 libcudnn_ops_infer.so

ln -s "libcudnn_ops_train.so.8.8.1" libcudnn_ops_train.so.8

ln -s libcudnn_ops_train.so.8 libcudnn_ops_train.so

ln -s "libcudnn.so.8.8.1" libcudnn.so.8

ln -s libcudnn.so.8 libcudnn.so

再执行ldconfig 就没有报错了。

bitsandbytes 也可以从源码安装。装完后试一下 python3 -m bitsandbytes有没有报错。

如果你还不是一个装环境熟手 可以考虑先从头装起。 我刚开始试过在别人装了一部分anacoda及显卡驱动的包上再继续装,很折磨人,搞了很久最后还是没搞定。 GPU服务器一般不是我们个人电脑,上面没多少琐碎的东西。重要的包备份一下,就可以重来了。是的,重装操作系统,再继续。

把需要安装的 列表和执行命令记录下来,加速下一次的安装。 当然可以写个脚本,更加自动化。

重装操作系统后,记得 sudo apt-get update 或 yum -y update,这一步一定要做,省去后面好多不必要的麻烦。

接下来是安装gcc make这些。 把这些常用的软件装好之后,再开始装 英伟达驱动这些。

我最近几年也不用anacoda装包了。anacoda能装的包,pip一样能装。

英伟达相关的包,conda安装的包可能还只是全部的一部分,在其他场景用起来可能又不够.. 比如又缺少头文件之类。 我一般不使用anacoda这种方式。

看到某位大侠用的版本关系,可以参考:

操作系统: CentOS 7

CPUs: 单个节点具有 1TB 内存的 Intel CPU,物理CPU个数为64,每颗CPU核数为16

GPUs: 8卡A800 80GB GPUs

Python: 3.10 (需要先升级OpenSSL到1.1.1t版本(点击下载OpenSSL),然后再编译安装Python),

NVIDIA驱动程序版本: 515.65.01,根据不同型号选择不同的驱动程序。

CUDA工具包: 11.7

NCCL: nccl_2.14.3-1+cuda11.7

cuDNN: 8.8.1.3_cuda11

这篇文章也参考学习了:

https://blog.csdn.net/weixin_39928010/article/details/131142603

https://blog.csdn.net/qq_42406643/article/details/109545766

相关推荐
yusaisai大鱼4 分钟前
TensorFlow如何调用GPU?
人工智能·tensorflow
珠海新立电子科技有限公司2 小时前
FPC柔性线路板与智能生活的融合
人工智能·生活·制造
IT古董3 小时前
【机器学习】机器学习中用到的高等数学知识-8. 图论 (Graph Theory)
人工智能·机器学习·图论
曼城周杰伦3 小时前
自然语言处理:第六十三章 阿里Qwen2 & 2.5系列
人工智能·阿里云·语言模型·自然语言处理·chatgpt·nlp·gpt-3
余炜yw4 小时前
【LSTM实战】跨越千年,赋诗成文:用LSTM重现唐诗的韵律与情感
人工智能·rnn·深度学习
莫叫石榴姐4 小时前
数据科学与SQL:组距分组分析 | 区间分布问题
大数据·人工智能·sql·深度学习·算法·机器学习·数据挖掘
96774 小时前
对抗样本存在的原因
深度学习
如若1234 小时前
利用 `OpenCV` 和 `Matplotlib` 库进行图像读取、颜色空间转换、掩膜创建、颜色替换
人工智能·opencv·matplotlib
YRr YRr4 小时前
深度学习:神经网络中的损失函数的使用
人工智能·深度学习·神经网络
ChaseDreamRunner5 小时前
迁移学习理论与应用
人工智能·机器学习·迁移学习