基于LXD搭建实验室GPU服务器(二)——宿主机的深度学习环境安装
在上一篇博客中,我们介绍了服务器的基本配置,例如换源、sshd配置、防火墙配置等。
在本文中,我们将继续介绍如何在宿主机配置基本的深度学习环境,包括nvidia驱动,cuda,anaconda,torch等。
nvidia驱动和cuda环境配置
下载cuda
cuda的历史版本链接如下,这里选择服务器对应平台的runfile
文件下载,下载链接为:
https://developer.nvidia.com/cuda-toolkit-archive
命令行中运行图片中的第一条指令
# 下载runfile文件
wget https://developer.download.nvidia.com/compute/cuda/11.6.0/local_installers/cuda_11.6.0_510.39.01_linux.run
关闭图形界面
如果使用的是桌面版的ubuntu,建议关闭图形界面后,在tty界面或者通过ssh连接进行驱动的安装和卸载,关闭和开启图形界面指令如下:
# 关闭图形界面
sudo systemctl set-default multi-user.target
sudo reboot
# 开启图形界面
sudo systemctl set-default graphical.target
sudo reboot
删除驱动和cuda残余文件
sudo apt-get --purge remove nvidia-*
sudo apt-get --purge remove "*nvidia*"
sudo apt-get remove cuda
sudo apt autoremove
sudo apt-get remove cuda*
禁用nouveau
# 编辑blacklist.conf文件
sudo vim /etc/modprobe.d/blacklist.conf
# 将以下两行加入文件末尾
blacklist nouveau
options nouveau modeset=0
# 重新生成initramfs
sudo update-initramfs -u
安装cuda
进入cuda的runfile文件目录,运行文件。
如无特殊要求,不要将驱动前面的x去掉,直接install就好。
一些博客中提到建议安装驱动时加上–no-opengl-files
的选项,该选项可以在cuda安装时options-driver
里面勾选相关选项,但是博主并未勾选,也没出现问题。
输入以下指令运行安装文件
sudo sh cuda_11.6.0_510.39.01_linux.run
如果没有特殊需求,直接选择Install
即可,若要进行驱动安装选项的修改,流程如下:
可以去掉Driver
前面的[X]
选择不安装驱动,也可以在Options
里对驱动安装选项进行配置
此处选择Driver Options
以下的三个选项分别为:
- 不安装
OpenGL
相关文件,对应安装驱动的–no-opengl-files
选项。 - 不安装nvidia-drm内核模块,该选项可能在容器安装cuda和驱动时会用到,对应安装驱动时的
--no-kernel-module
选项。 - 更新
X config file
,不知道有什么用,与我们无关,安装显卡驱动时也会有该选项。
后续一路确认即可完成cuda安装
添加环境变量
此时输入nvidia-smi
应该会跳出显卡状态的面板,但是输入nvcc -V
会显示无该命令,我们需要添加环境变量。
# 修改用户目录下的bashrc文件
vim ~/.bashrc
# 在末尾添加
export PATH=/usr/local/cuda-11.6/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-11.6/lib64
# 激活环境变量
source ~/.bashrc
# 查看cuda版本
nvcc -V
# 输出类似以下的信息则表示cuda安装成功,环境变量配置成功
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2021 NVIDIA Corporation
Built on Fri_Dec_17_18:16:03_PST_2021
Cuda compilation tools, release 11.6, V11.6.55
Build cuda_11.6.r11.6/compiler.30794723_0
# 测试驱动
nvidia-smi
# 输出类似以下的信息则表示驱动安装成功
Sat Aug 26 22:54:25 2023
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 510.39.01 Driver Version: 510.39.01 CUDA Version: 11.6 |
|-------------------------------+----------------------+----------------------+
| 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 ... On | 00000000:02:00.0 Off | N/A |
| 91% 75C P2 343W / 350W | 12493MiB / 24576MiB | 100% Default |
| | | N/A |
+-------------------------------+----------------------+----------------------+
| 1 NVIDIA GeForce ... On | 00000000:04:00.0 Off | N/A |
| 41% 52C P8 22W / 350W | 2MiB / 24576MiB | 0% Default |
| | | N/A |
+-------------------------------+----------------------+----------------------+
| 2 NVIDIA GeForce ... On | 00000000:83:00.0 Off | N/A |
| 40% 34C P8 19W / 350W | 2MiB / 24576MiB | 0% Default |
| | | N/A |
+-------------------------------+----------------------+----------------------+
| 3 NVIDIA GeForce ... On | 00000000:84:00.0 Off | N/A |
| 40% 34C P8 22W / 350W | 2MiB / 24576MiB | 0% Default |
| | | N/A |
+-------------------------------+----------------------+----------------------+
+-----------------------------------------------------------------------------+
| Processes: |
| GPU GI CI PID Type Process name GPU Memory |
| ID ID Usage |
|=============================================================================|
| 0 N/A N/A 1004834 C python 12491MiB |
+-----------------------------------------------------------------------------+
单独安装nvidia驱动
若对显卡驱动版本有要求,可以单独安装驱动
在https://www.nvidia.com/Download/index.aspx?
中选择合适的驱动
运行以下指令安装驱动
# 常用安装选项
# --no-opengl-files(只安装驱动,不安装opengl相关文件)
# --no-kernel-module(不安装内核模块,在容器安装驱动时使用)
# --no-X-check(安装驱动时关闭X服务)
# –-no-nouveau-check(安装驱动时禁用nouveau)
sudo sh ./<driver_name.run>
通过该方式安装的驱动可通过以下指令卸载:
sudo sh ./<driver_name.run> --uninstall
sudo rm /etc/X11/xorg.conf
Anaconda环境配置
Anaconda安装文件下载
由于网络问题,建议去国内镜像下载Anaconda
安装文件,清华镜像链接为:
https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/?C=M&O=D
可以下载文件上传至服务器,也可以在服务器上通过wget
下载,例如:
wget https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/Anaconda3-2023.07-2-Linux-x86_64.sh
此时可能会报403
之类的错误,这可能是因为一些反爬虫措施带来的,我们可以加个请求头来解决该问题
wget https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/Anaconda3-2023.07-2-Linux-x86_64.sh -U "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.121 Safari/537.36"
Anaconda安装
请不要使用sudo
来运行该文件,否则anaconda默认安装在/root/anaconda3
目录下,用起来很麻烦,设置安装路径或许可行,但没必要搞那么麻烦。
输入以下指令来运行安装文件:
bash Anaconda3-2023.07-2-Linux-x86_64.sh
# 输入1
In order to continue the installation process, please review the license
agreement.
Please, press ENTER to continue
>>> [Enter] # 回车
# 输入2
Do you accept the license terms? [yes|no]
[no] >>> yes # 接受
# 输入3
Anaconda3 will now be installed into this location:
/home/ubuntu/anaconda3
[/home/ubuntu/anaconda3] >>> [Enter] # 默认安装路径
# 输入4
installation finished.
Do you wish the installer to initialize Anaconda3
by running conda init? [yes|no]
[no] >>> yes # 初始化
运行过程中会先让你摁回车
阅读license,然后看完license输入yes
表示接接受。
然后会让你选择安装路径,默认在用户目录下,但如果使用的是sudo
,则会默认安装在/root/anaconda3
目录下。
路径没错的话,我们摁回车等待安装即可。
激活base环境
# 若输入conda显示 -bash: conda: command not found,可能是环境变量没有激活,输入以下指令激活即可
source ~/.bashrc
# 此时应该会出现激活base环境了,若没有,可以手动激活
source ~/anaconda3/bin/activate
# 此时用户名前会出现(base)
(base) ubuntu@ubuntu:~/Downloads$
由于网络问题,此处依然建议换源,命令如下:
# 添加清华源
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
# 删去默认源
conda config --remove channels defaults
# 检查是否换源成功
conda config --set show_channel_urls yes
conda info
# 重置源为默认源
conda config --remove-key channels
# 我们可以通过以下指令创建虚拟环境
conda create -n <venv_name> python=<python_version>
# 激活虚拟环境
conda activate <venv_name>
至此,anaconda安装完成
pytorch环境安装
同样,由于网络问题,建议手动下载pytorch,离线安装。pytorch历史版本链接如下:
https://pytorch.org/get-started/previous-versions/
请注意pytorch版本是否兼容对应版本的cuda,并根据用途选择GPU或CPU版本的pytorch。我们选择合适版本的.whl
文件后下载后上传至服务器,使用pip
进行离线安装
# 在哪个环境运行就在哪个环境安装
pip install ./torch-1.13.1+cu116-cp38-cp38-linux_x86_64.whl
简单测试下pytorch
是否安装成功
pip list |grep torch
(base) ubuntu@ubuntu:~$ conda activate testenv
(testenv) ubuntu@ubuntu:~$ python
Python 3.8.10 (default, Jun 4 2021, 15:09:15)
[GCC 7.5.0] :: Anaconda, Inc. on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import torch
>>> torch.cuda.is_available()
True # cuda可用
>>> torch.cuda.device_count()
4 # 有4个GPU
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· 上周热点回顾(2.17-2.23)
· 如何使用 Uni-app 实现视频聊天(源码,支持安卓、iOS)
· spring官宣接入deepseek,真的太香了~