配置CUDA Toolkit、Minconda和Pytorch开发环境
深度学习开发环境配置并不复杂,关键是选择对应版本和安装命令
CUDA Toolkit
检查是否安装CUDA Toolkit
> nvcc -V
Command 'nvcc' not found, but can be installed with:
apt install nvidia-cuda-toolkit Please ask your administrator.
如果输入上述内容,说明需要安装CUDA Toolkit
下载并安装CUDA Toolkit(非root权限)
注意安装与显卡驱动兼容的CUDA Toolkit版本,首先检查显卡驱动版本
> nvidia-smi
在NVIDIA CUDA Toolkit Release Notes中,查找与显卡驱动版本Driver Version: 550.120兼容的CUDA Toolkit版本
接着检查系统版本
> lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 22.04.4 LTS
Release: 22.04
Codename: jammy
就可以到CUDA Toolkit Archive下载相应版本的CUDA Toolkit了
> cd ~
> wget https://developer.download.nvidia.com/compute/cuda/12.4.1/local_installers/cuda_12.4.1_550.54.15_linux.run
下载完成后,运行安装程序
> sh cuda_12.4.1_550.54.15_linux.run
进入安装界面后选择continue然后输入accept,在下图页面中只选择安装CUDA Toolkit 12.4
注意,先不要Install,进入option选择Toolkit Options下的Change Toolkit Install Path,将原来的usr/local/cuda-12.4/改为用户根目录下的路径/home/wangyf/cuda-12.4/
修改路径完成后,Done回上图页面,选择Install进行安装,安装结束后可能会提示未安装CUDA Driver不用管
接下来修改环境变量,在~/.bashrc添加如下内容:
# CUDA Toolkit
export PATH="/home/wangyf/cuda-12.4/bin:$PATH"
export LD_LIBRARY_PATH="/home/wangyf/cuda-12.4/lib64:$LD_LIBRARY_PATH"
刷新环境变量
> source ~/.bashrc
验证安装成功
> nvcc -V
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2024 NVIDIA Corporation
Built on Thu_Mar_28_02:18:24_PDT_2024
Cuda compilation tools, release 12.4, V12.4.131
Build cuda_12.4.r12.4/compiler.34097967_0
如果输出上述内容,则说明安装成功
Miniconda
安装Miniconda
使用清华镜像下载Miniconda
> cd ~
> wget -c https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/Miniconda3-latest-Linux-x86_64.sh
运行安装程序
> sh Miniconda3-latest-Linux-x86_64.sh
一直回车或输入yes,如果安装成功则显示Thank you for installing Miniconda3!
断开ssh连接,重新连接才会显示在conda的base环境下
(base) wangyf@4A100:~$
配置国内源和基本开发环境
为conda配置清华源,执行下面命令
> conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
> 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/r
> conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/pro
> conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/msys2
为pip配置清华源,在~/.pip/pip.conf添加下面内容,如果没有则新建
[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
[install]
trusted-host = https://pypi.tuna.tsinghua.edu.cn
检查是否配置成功
> pip config list
global.index-url='https://pypi.tuna.tsinghua.edu.cn/simple'
install.trusted-host='https://pypi.tuna.tsinghua.edu.cn'
创建python环境
最好使用python3.8,更高版本有些工具可能不兼容
> conda create -n py38 python=3.8 -y
> conda activate py38
然后就会看到终端中的(base)变成了(py38),这表示进入了新建的py38环境,如需删除环境,则
> conda remove -n py38 --all -y
Pytorch
从Pytorch获取下载命令,conda环境中建议使用python -m pip install ... 而不是pip install ...
按需下载安装,保证已经使用conda activate进到环境中,命令行也会显示是从清华源下载的
> python -m pip install torch
Looking in indexes: https://pypi.tuna.tsinghua.edu.cn/simple
Collecting torch Downloading ...
检查是否安装gpu版本 torch,运行python脚本
import torch
torch.__version__ # 如正常则返回版本号 "2.4.1+cu121"
torch.cuda.is_available() # 如正常则返回 "True"
a = torch.Tensor([1.])
a.cuda() # 如正常则返回"tensor([ 1.], device='cuda:0')"
torch.backends.cudnn.is_acceptable(a.cuda()) # 如正常则返回 "True"
如要批量安装python库,可以使用
> python -m pip install transformers accelerate peft datasets evaluate swanlab argparse loguru numpy jsonlines modelscope
或者创建requirements.txt,新建内容
transformers==x.x.x
accelerate==x.x.x
peft==x.x.x
datasets==x.x.x
evaluate==x.x.x
swanlab
argparse
loguru
numpy
jsonlines
modelscope
然后
> python -m pip install -r requirements.txt
其他配置.bashrc/.tmux.conf
.bashrc
export TERM="xterm-256color"
alias watchnv="watch -n 0.1 nvidia-smi"
alias cda="conda activate"
alias accl="accelerate launch"
alias cdr="cda rp38; cd ~/Repos/; clear"
alias cdm="cda rp38; cd ~/Models/; clear"
alias cdd="cda rp38; cd ~/Datasets/; clear"
alias ta="tmux a"
alias tat="tmux a -t"
alias tns="tmux new -s"
alias tls="tmux ls"
.tmux.conf
# 添加第二个前缀键,不影响原前缀键
set-option -g prefix2 C-Space
# 序号从1开始
set -g base-index 1
set -g pane-base-index 1
set -g renumber-windows on
# 颜色文件
set -g default-terminal 'tmux-256color'
# Visual mode
set -g mouse on
.vimrc
# 显示行号
set nu
# 语法高亮
syntax enable
# 支持鼠标移动光标
set mouse=a