Ubantu从0开始配置深度学习RTX 4090+3090显卡的服务器

实验室刚到一台Dell服务器主机,里面配置一张RTX 4090和RTX 3090显卡,弄了好久终于能成功运行PyTorch深度学习模型,现在将过程描述如下:

1. 基础

首先是系统,选择的是Ubantu 18.02版本,这个直接下载安装就不说了,直接下一步下一步,没什么问题

然后是显卡驱动,这个由于我们的主机是4090,所以下载的最新的显卡驱动525

下载后出现第一个坑:如果你和我们一样,有两张不平衡的显卡,那么下载显卡驱动极有可能会下载的低等级的那个驱动,导致开机异常,表现为开不了机,屏幕一直闪

解决方法:只留高的显卡,我们只留了4090,然后成功可以开机,安装好4090的驱动后,再将3090插入,依然可以启动

解决完举动之后,安装conda和CUDA,conda没什么好说的,直接anaconda3官网下载安装,至于CUDA,这里我们选择的是最新的CUDA 12.0,在官网搜索下载即可,下载安装后需要更新bashrc文件:

使用vim ~/.bashrc打开文件,没有vim就按照提示安装vim或使用gedit。随后在文件底部添加:

export PATH="/usr/local/anaconda3/bin:$PATH"
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda12.0/lib64
export PATH=$PATH:/usr/local/cuda-12.0/bin
export CUDA_HOME=$CUDA_HOME:/usr/local/cuda-12.0

第一句是conda的命令,后三句是cuda的命令,记得改成自己的相应路径

2. 用户访问

首先需要将该主机设置为可以用ssh访问的状态,千万注意端口号的修改,我们当时就是因为端口号没有修改成可用状态搁置了很久。

首先安装openssh-server

sudo apt-get install openssh-server

Ubantui如果默认安装了就不用安装了,没有的话就安上

然后确认ssh-server是否启动:

ps -e |grep ssh

如果看到sshd就说明ssh已经启动,如果没有的话需要启动:

sudo /etc/init.d/ssh start

接着需要修改端口号:

sudo vim /etc/ssh/sshd_config

默认是22,将文件里面的22注释掉后修改成自己想要的端口号,这个可以咨询网络管理员你们的IP和端口是多少

最后重启ssh

systemctl restart sshd.netword

设置完后创建用户,这里出现第二个坑,创建用户后出现无法登陆的BUG,经检查后发现是useradd -d命令没有生成对应的目录导致无法登陆,解决方法是在后面加上一句-m,但加上-m后会出现第三个坑,登陆后没有用户名,只有一个$,解决方法是在useradd 后面加上 -s /bin/bash,最后使用的添加用户的命令为:

useradd 用户名 -d /home/user_1/用户名 -m -s /bin/bash

随后设置相应的密码:

 passwd 用户名

创建用户后登录,需要设置bashrc文件以运行显卡

输入代码

vim ~/.bashrc

在尾部添加代码:

export PATH="/usr/local/anaconda3/bin:$PATH"
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-12.0/lib64
export PATH=$PATH:/usr/local/cuda-12.0/bin
export CUDA_HOME=$CUDA_HOME:/usr/local/cuda-12.0

更新bashrc:

source ~/.bashrc

初始化conda:

conda init

如果提示没有conda就关闭连接重新ssh接入,再输入

再次连接ssh即可使用conda

3. Pytorch环境的问题

这个是最麻烦的,你或许尝试过conda,尝试过pip,尝试过反复复制Pytorch官网的下载命令,但最后总得到 torch.cuda.is_available()的结果为False

那么这个时候就不要妄想通过PyTorch官网的命令来安好了,什么去掉-c之类的,多半是没有用的,解决办法就是去PyTorch官网去找自己的whl文件下载来安装。具体如下:

首先看到pip命令下面的下载链接:

请添加图片描述

点进去之后会有下载选项,一般需要下载以下三个依赖包:

请添加图片描述

这里以PyTorch为例子,点进去之后选择想要的版本,cp指的是python版本,cu指的是cuda版本,一定不能下错,这里以python3.7,cuda11.7为例:

请添加图片描述

下载后通过winscp传输到服务器中,或者使用U盘传送到服务器中,使用pip install xx.whl安装即可

如果出现报错那么极有可能是:1,python版本问题,下载的时候看仔细;2,文件传输损坏了,重新下载即可。

最后记得验证一下 torch.cuda.is_available(),如果为False则继续重复上述步骤

4. 显卡调度问题

由于我们的服务器配置的显卡型号不一致,使用过程会出现很多问题,显卡不一致不支持双卡并行

我们的是一块4090和一块30-90,尤其是使用4090显卡,若不强制指定会导致3090显卡莫名占用显存,需要设定环境变量,具体如下:

使用4090显卡运行程序示例:

方法一:在shell命令前强制指定显卡
CUDA_VISIBLE_DEVICES="0" python main.py
方法二:在代码中强制指定显卡

在主程序中加入如下代码:

import os
os.environ['CUDA_VISIBLE_DEVICES'] = "0"

然后直接运行:python main.py即可

如需使用另一块3090显卡则将 “0”改为 “1”

显卡型号不一致极有可能和我们这个情况一样

若运行中出现如下警告:

`UserWarning: 
    There is an imbalance between your GPUs. You may want to exclude GPU 1 which
    has less than 75% of the memory or cores of GPU 0. You can do so by setting
    the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES
    environment variable.
  warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))`

说明显卡没有配置正确,需要ctrl+c停止代码后指定显卡

建议运行代码后,使用 nvidia-smi检查一下显存,如果两张显卡显存同时升高,则显卡指定有误,需要重新指定

5. 各种各样的小BUG

5.1 Liunx创建新用户登录异常:/usr/bin/xauth: error/timeout in locking authority file /home/user/.Xauthority

注意下面 的“/home/user_1/用户名”要修改成你的用户名路径!!!

先使用su创建文件

sudo mkdir /home/user_1/用户名

赋予权限:

chown 用户名:用户名 -R /home/user_1/用户名
usermod -s /bin/bash 用户名

重置bashrc:

cp  /etc/skel/.bashrc   ~/

重新添加bashrc文件中的conda等环境变量

5.2 服务器更换了地方连不上网,只有IPV6地址,ping不通

解决方法:

首先进入以太网端口,手动设置IPV4的IP地址,这里因人而异,自行咨询网络管理员IP、子网掩码、网关是多少

然后进入etc/network文件(此时应使用su账号)

cd /etc/network

使用vim打开 interfaces文件

vim interfaces

在文件尾端添加你手动输入的IP地址,网关,子网掩码等:

iface 你的网口名称(ipconfig可以看到,一般是enp0) inet static
address 你的IP地址
gatway 你的网关
netmask 你的子网掩码

然后更新网络即可:

 service network-manager restart

先写到这里,后续有什么BUG继续更新

  • 1
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
为了配置深度学习环境,你可以按照以下步骤进行操作: 1. 安装 CUDA 和 cuDNN:CUDA 是 NVIDIA 的并行计算平台,而 cuDNN 是用于深度神经网络的 GPU 加速库。首先,确保你的显卡支持 CUDA。然后,从 NVIDIA 官方网站下载和安装适合你显卡的 CUDA 版本。接着,从 NVIDIA 开发者网站下载并安装对应 CUDA 版本的 cuDNN。安装过程中可能需要手动配置环境变量。 2. 安装 Python 和 pip:Ubuntu 已经预装了 Python,你可以通过终端检查 Python 版本。然后,安装 pip,它是 Python 的包管理器,用于安装和管理 Python 库和依赖。 3. 创建虚拟环境(可选):虚拟环境可以帮助你隔离不同项目的依赖关系。使用以下命令创建一个新的虚拟环境: ``` python3 -m venv myenv source myenv/bin/activate ``` 4. 安装深度学习库:可以使用 pip 安装常用的深度学习库,如 TensorFlow 或 PyTorch。例如,安装 TensorFlow: ``` pip install tensorflow ``` 5. (可选)安装其他依赖库:根据你的需求,可能需要安装其他库,例如 OpenCV、numpy 等。使用 pip 安装这些库: ``` pip install opencv-python pip install numpy ``` 6. 配置 GPU 支持:在使用深度学习库时,你可能需要配置 GPU 支持。确保你的显卡驱动已正确安装,并且将深度学习配置为使用 GPU。 这些是配置深度学习环境的基本步骤,具体的安装和配置步骤可能因你使用的深度学习库和版本而有所差异。建议查阅相关文档以获取更详细的指导。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

锌a

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值