小白的实验室服务器深度学习环境配置指南

这篇具有很好参考价值的文章主要介绍了小白的实验室服务器深度学习环境配置指南。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

安装nvidia

本文在ubuntu server 22.04上实验成功,其他版本仅供参考

注意,本文仅适用于ubuntu server,不需要图形界面,没有对图形界面进行特殊考虑和验证!依赖图形操作界面的读者慎用

查看是否安装了gcc

gcc -v

若没有安装,则输入下面的命令,直接把包括gcc在内很多开发工具包一同安装

sudo apt-get install build-essential

禁用nouveau驱动

编辑 /etc/modprobe.d/blacklist-nouveau.conf 文件,添加以下内容:

blacklist nouveau
blacklist lbm-nouveau
options nouveau modeset=0
alias nouveau off
alias lbm-nouveau off

关闭nouveau:

echo options nouveau modeset=0 | sudo tee -a /etc/modprobe.d/nouveau-kms.conf

注意,本文仅适用于ubuntu server,不需要图形界面,没有对图形界面进行特殊考虑和验证!依赖图形操作界面的读者慎用!

完成后,重新生成内核并重启:

sudo update-initramfs -u
sudo reboot

重启后,执行:lsmod | grep nouveau。如果没有屏幕输出,说明禁用nouveau成功。否则,应重新执行第禁用nouveau驱动小节。

因为实验室服务器不方便重启,我没有重启,但执行:lsmod | grep nouveau,没有屏幕输出,说明禁用nouveau成功。

安装驱动

使用命令ubuntu-drivers devices获取可用驱动信息,如果命令不存在自己安装一下。

输出为:

== /sys/devices/pci0000:72/0000:72:00.0/0000:73:00.0 ==
modalias : pci:v000010DEd00002204sv00001028sd00003880bc03sc00i00
vendor   : NVIDIA Corporation
model    : GA102 [GeForce RTX 3090]
driver   : nvidia-driver-525 - third-party non-free
driver   : nvidia-driver-525-open - distro non-free
driver   : nvidia-driver-525-server - distro non-free
driver   : nvidia-driver-470 - distro non-free
driver   : nvidia-driver-535-server-open - distro non-free
driver   : nvidia-driver-470-server - distro non-free
driver   : nvidia-driver-535 - distro non-free recommended
driver   : nvidia-driver-535-server - distro non-free
driver   : nvidia-driver-535-open - distro non-free
driver   : xserver-xorg-video-nouveau - distro free builtin

注意recommend的版本是535,加上是在服务器上安装,初步确定安装nvidia-driver-535-server

还可以查看内核中nvidia的版本:cat /proc/driver/nvidia/version

输出为:

NVRM version: NVIDIA UNIX x86_64 Kernel Module  535.129.03  Thu Oct 19 18:56:32 UTC 2023
GCC version:  gcc version 11.4.0 (Ubuntu 11.4.0-1ubuntu1~22.04) 

可以看到版本是535

因此执行命令安装:sudo apt install nvidia-driver-535-server

等待安装完成后,执行nvidia-smi可以输出gpu监控界面,则驱动安装成功!

执行nvidia-smi的输出结果

+---------------------------------------------------------------------------------------+
| NVIDIA-SMI 535.129.03             Driver Version: 535.129.03   CUDA Version: 12.2     |
|-----------------------------------------+----------------------+----------------------+
| GPU  Name                 Persistence-M | Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp   Perf          Pwr:Usage/Cap |         Memory-Usage | GPU-Util  Compute M. |
|                                         |                      |               MIG M. |
|=========================================+======================+======================|
|   0  NVIDIA GeForce RTX 3090        Off | 00000000:73:00.0 Off |                  N/A |
| 55%   66C    P2             163W / 350W |   1575MiB / 24576MiB |      0%      Default |
|                                         |                      |                  N/A |
+-----------------------------------------+----------------------+----------------------+
                                                                                         
+---------------------------------------------------------------------------------------+
| Processes:                                                                            |
|  GPU   GI   CI        PID   Type   Process name                            GPU Memory |
|        ID   ID                                                             Usage      |
|=======================================================================================|
|    0   N/A  N/A   1331109      C   python3                                    1562MiB |
+---------------------------------------------------------------------------------------+

上图显示的显卡信息,第一行是版本信息,第二行是标题栏,第三行是具体的显卡信息。如果有多个显卡,就会有多行对应标题栏的信息。例如我上面显示了共0~4号,共5个卡。

  • GPU:显卡编号,从0开始。
  • Fan:风扇转速,在0~100%之间变动。这个速度是计算机期望的风扇转速,实际情况下如果风扇堵转,可能就不会显示具体转速值。有的设备不会返回转速,因为它不依赖风扇冷却,而是通过其他外设保持低温,比如我们实验室的服务器是常年放在空掉房间里面的。
  • Name:显卡名,以上都是Tesla。
  • Temp:显卡内部的温度,以上分别是54、49、46、50、39摄氏度。
  • Perf:性能状态,从P0到P12,P0性能最大,P12最小 。
  • Persistence-M:持续模式的状态开关,持续模式虽然耗能大,但是在新的GPU应用启动时,花费的时间更少。以上都是Off的状态。
  • Pwr:能耗表示。
  • Bus-Id:涉及GPU总线的相关信息。
  • Disp.A:是Display Active的意思,表示GPU的显示是否初始化。
  • Memory-Usage:显存的使用率。
  • GPU-Util:GPU的利用率。
  • Compute M.:计算模式。
  • 下面的Process显示每块GPU上每个进程所使用的显存情况。

卸载显卡驱动

如果遇到Nvidia NVML Driver/library version mismatch的问题,又不方便重启实验室服务器,只能重装显卡驱动。因此将卸载显卡驱动的命令记录于此。

卸载显卡驱动:sudo apt-get remove --purge nvidia*

再执行:dpkg -l | grep nvidia

如果还有其他包,也全部卸载。

安装CUDA Toolkit

就安装nvidia-smi中适用于nvidia 535.129.03的最大的cuda版本:12.2

1、去官网选择要安装的版本

2、以cuda 12.2为例,选择系统配置。一定要选择runfile安装,因为使用runfile安装可以选择不安装nvidia驱动,而使用deb安装默认安装nvidia驱动,会出现driver/library version mismatch的问题

nvidia-smi 535.129.03 driver version: 535.129.03 cuda version: 12.2,install,服务器,深度学习

nvidia-smi 535.129.03 driver version: 535.129.03 cuda version: 12.2,install,服务器,深度学习

3、执行命令,由于前面已经安装了nvidia驱动,所以在安装选项里要取消Driver

nvidia-smi 535.129.03 driver version: 535.129.03 cuda version: 12.2,install,服务器,深度学习

4、将cuda写入环境变量,由于是多用户系统,在~/.bashrc文件(仅当前用户生效)的末尾写入

#####################cuda12.2#######################
export PATH=$PATH:/usr/local/cuda-12.2/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-12.2/lib64

5、source刷新环境变量

source /etc/profile

Anaconda虚拟环境配置

安装Anaconda

1、安装Anaconda

在使用服务器时,可以使用Anaconda来创建和管理多个虚拟环境,非常好用。安装步骤如下:

1、去官网下载安装文件

nvidia-smi 535.129.03 driver version: 535.129.03 cuda version: 12.2,install,服务器,深度学习

2、上传至服务器并赋予执行权限

chmod +x Anaconda3-2023.09-0-Linux-x86_64.sh

3、安装

sudo ./Anaconda3-2023.09-0-Linux-x86_64.sh

注意,安装路径默认是当前用户的home目录下的anaconda3,例如:~/anaconda3。在询问是否执行conda initialization时,选择yes,这样就不需要自己配置环境变量了(默认写入~/.bashrc文件)。

配置虚拟环境

1、新建一个Python环境

conda create -n test python=3.9 # 新建一个名为test的python3.9环境
conda activate test # 激活test环境

如果激活失败,可以先进入base环境再激活test环境,执行以下命令:

source activate
conda activate test

2、在虚拟环境中配置conda和PyTorch-GPU

去官网查看对应版本的安装命令并执行

不幸的发现最高的pytorch只支持cuda12.1版本

nvidia-smi 535.129.03 driver version: 535.129.03 cuda version: 12.2,install,服务器,深度学习

因此我们选择在虚拟环境中安装低版本cuda

conda install cuda=11.8

继续安装版本匹配的pytorch

conda install pytorch torchvision torchaudio pytorch-cuda=11.8 -c pytorch -c nvidia

验证是否安装成功

import torch
print(torch.__version__)
print(torch.cuda.is_available())

注意conda-forge这个通道会比较慢,所以安装pytorch的时候,最好选择不带conda-forge的命令

3、在虚拟环境中配置cudnn

去官网查看cudnn和cuda的版本对应关系

nvidia-smi 535.129.03 driver version: 535.129.03 cuda version: 12.2,install,服务器,深度学习

conda找不到对应版本的cudnn

输入命令: conda search cudnn -c conda-forge 然后出现了各个版本的cudnn:

nvidia-smi 535.129.03 driver version: 535.129.03 cuda version: 12.2,install,服务器,深度学习

选择一个合适的版本安装,这里选择cudnn 8.9.2.26

conda install cudnn=8.9.2.26

验证cudnn安装成功:conda list | grep cudnn

输出如下,安装成功

cudnn                     8.9.2.26               cuda11_0

参考

[1] nvidia-smi查看GPU的使用信息并分析

[2] 【2022新教程】Ubuntu server 20.04如何安装nvidia驱动和cuda-解决服务器ssh一段时间后连不上的问题

[3] 这绝对是你见过的最全深度学习服务器管理配置手册文章来源地址https://www.toymoban.com/news/detail-774017.html

到了这里,关于小白的实验室服务器深度学习环境配置指南的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • pycharm+mobaxterm通过跳板机连接实验室服务器

    注意事项: 1.本教程针对需要通过跳转节点(跳板机)来访问计算节点(目标服务器)。 2.访问服务器的工具为mobaxterm、pycharm专业版(社区版不能连远程服务器)。 提示:以下是本篇文章正文内容,下面案例可供参考 示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数

    2024年02月12日
    浏览(51)
  • Pycharm远程连接实验室服务器Conda环境配置

    这类博客较多,参考内容 https://blog.csdn.net/fengbao24/article/details/125515542 1. Settings - Add Interpreter - On SSH 注意,这里的SSH需要在你把远程的项目映射到本地之后,才会出现这个SSH选项 2. 选择对应的conda环境 naconda 的 base 环境的 python 解释器的路径为 anaconda/bin/python,其他环境的路径

    2024年04月26日
    浏览(28)
  • 实验室的服务器和本地pycharm怎么做图传

    提前说一个  自认为  比较重要的一点: 容器中安装opencv,可以先试试用 apt install libopencv-dev python3-opencv 我感觉在图传的时候用的不是 opencv-python 而是ubuntu的opencv库 所以用 apt install 安装试一下 参考 远程调试 qt.qpa.xcb: could not connect to display, echo DISPLAY为空[已解决]_功夫小象的

    2024年02月10日
    浏览(45)
  • Stable Diffusion2.0实验室Linux服务器详细运行教程

    最近在学习ai共创,在官方网站dreamstdio玩了几次发现需要收费,于是决定部署一个在服务器上。将部署的过程和遇到的问题记录下来供大家参考。 也可以手动安装,如果镜像中安装好了,就不用手动安装了,但是要注意版本!!! cuda:11.6:https://developer.nvidia.com/cuda-11-6-0-

    2024年02月08日
    浏览(30)
  • SCPSL开服教程/0基础搭建SCPSL服务器/SCP秘密实验室开服指南

    欢迎来到SCP:SL服务器的教程,本教程偏基础,如果有任何问题都可以评论或联系作者QQ(见文章底部) 由于一些众所周知的问题,SCP几乎被全网封杀,最近SCPSL的圈子的状态也非常的.....(一言难尽) 本文章为飞翔到云间,QQ:3012287203原创,仅在Gitee和CSDN平台发布。转载请注明出

    2024年02月02日
    浏览(43)
  • 电巢直播|走进兴森实验室,深度剖析先进电子电路方案可靠性

    8月17日,兴森科技携手电巢科技联合推出的《兴森大求真》第5期“兴森实验室,让可靠看得见”直播活动圆满结束。 本期《兴森大求真》之“兴森实验室,让可靠看得见”用真实案例为基础,剖析PCB电路板可靠性体系,通过厚实力展示了行业翘楚的标准,证明了兴森实验室

    2024年02月11日
    浏览(21)
  • 基于B/S架构SaaS服务的实验室信息系统(LIS)

    实验室信息系统LIS源码 实验室信息系统(Laboratory Information System),简称LIS,是一个全面基于网络化应用,能够帮助用户按照规范内容和规范流程进行多角色、多层次检验信息及资源管理的系统。通过条码管理系统从HIS系统实时下载样本相关信息,核对送检实际样本和下载的

    2024年02月16日
    浏览(37)
  • 新手小白如何租用GPU云服务器跑深度学习

    最近刚学深度学习,自己电脑的cpu版本的pytorch最多跑个LexNet,AlexNet直接就跑不动了,但是作业不能不写,实验不能不做。无奈之下,上网发现还可以租服务器这种操作,我租的服务器每小时0.78人民币,简直是发现新大陆,又省下一大笔钱,太开心了吧(啪,什么乱七八糟的

    2023年04月15日
    浏览(39)
  • 智慧校园实验室安全综合管理平台如何保障实验室安全?

    一、建设思路 实验室安全综合管理平台是基于以实验室安全,用现代化管理思想与人工智能、大数据、互联网技术、物联网技术、云计算技术、人体感应技术、语音技术、生物识别技术、手机APP、自动化仪器分析技术有机结合,通过建立以实验室为中心的管理体系,从人员、

    2024年01月20日
    浏览(61)
  • 基于VR技术的新型实验室教学模式——VR线上生物实验室

    随着科技的发展,虚拟现实技术已经逐渐走进了我们的生活。在教育领域中,虚拟现实技术也被广泛应用于各种学科的教学中。其中,VR线上生物实验室是广州华锐互动开发的,一种基于VR技术的新型教学模式,它能够为学生提供更加真实、生动的实验体验,同时也能够更好地

    2024年02月14日
    浏览(44)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包