Ubuntu 开发环境配置
使用ubuntu 20.04 docker 镜像
关键点:注意cuda driver、cuda tookit、cudnn、 tensorrt、pytorch等版本的对应关系
1. 安装ssh服务
docker 容器启动时已经指定了端口映射关系
apt-get install ssh
apt install openssh-server
echo "PermitRootLogin yes" >> /etc/ssh/sshd_config // 否则root用户无法连接
service ssh restart
passwd root // 设置密码
service ssh restart
可以查看 /etc/ssh/sshd_config 来看是否允许root用户登录,已经添加了PermitRootLogin yes,可能还需要把文件中自带的#PermitRootLogin prohibit-password 给注释掉
2. 安装vim, tmux 和 pip
apt update
apt install vim
apt install wget
apt-get update
apt-get install tmux
apt-get install pip
pip 换源
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
3. 安装cuda、cudnn
docker镜像映射时已经启动了所有的gpu,所以已经包含了nvidia-smi,来查看显卡信息
安装cuda时要考虑cuda tookit版本与cuda driver 版本的关系,以及和ubuntu版本的关系
这里选择了cuda11.2
wget https://developer.download.nvidia.com/compute/cuda/11.2.0/local_installers/cuda_11.2.0_460.27.04_linux.run
sh cuda_11.2.0_460.27.04_linux.run
// 可能会报的错
// error while loading shared libraries: libxml2.so.2: cannot open shared object file:
apt -y install libxml2
安装时仅选择安装tookit, 因为主机已经安装了cuda driver,否则无法使用–gpus参数
cudnn选择适用于11.x
从终端下载cudnn,使用wget下载后,后缀名可能有无用字符,删除即可
tar -xf ./cudnn-linux-x86_64-8.9.2.26_cuda11-archive.tar.xz
cp -r ./cudnn-linux-x86_64-8.9.2.26_cuda11-archive/include/*.h /usr/local/cuda-11.2/include/
cp -r ./cudnn-linux-x86_64-8.9.2.26_cuda11-archive/lib/* /usr/local/cuda-11.2/lib64/
配置环境变量
docker 默认时root账号,所以修改/root/.bashrc
export PATH=$PATH:/usr/local/cuda-11.2/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-11.2/lib64
这里用cuda代替也是一样的,因为cuda文件夹是个链接,这里就能看出怎么切换使用不同版本cuda版本,修改路径即可
source /root/.bashrc
nvcc -V
显示cuda版本号
安装tensorrt
wget https://developer.nvidia.com/downloads/compute/machine-learning/tensorrt/secure/8.6.1/tars/TensorRT-8.6.1.6.Linux.x86_64-gnu.cuda-11.8.tar.gz
tar -xzvf TensorRT-8.6.1.6.Linux.x86_64-gnu.cuda-11.8.tar.gz
cp -r ./TensorRT-8.6.1.6.Linux.x86_64-gnu.cuda-11.8/include/* /usr/local/cuda-11.2/include/
cp -r ./TensorRT-8.6.1.6.Linux.x86_64-gnu.cuda-11.8/lib/* /usr/local/cuda-11.2/lib64/
如果需要tensorrt的开发环境,还需要安装其提供的其他一些工具,利如Polygraphy等
4. 安装conda
conda下载linux conda 安装脚本
sh /mnt/wz/Anaconda3-2023.03-1-Linux-x86_64.sh
安装后显示是否需要conda init,输入yes之后显示 SHELL: parameter not set
source /root/anaconda3/bin/activate # 激活base环境
conda init # 修改环境变量 /root/.bashrc
conda config --set auto_activate_base false # 不会默认激活base环境
conda -V # 显示conda 版本号,证明conda已经在环境变量之中
cat /root/.bashrc
conda init 实际上是在 /root/.bashrc添加了以下信息:
# >>> conda initialize >>>
# !! Contents within this block are managed by 'conda init' !!
__conda_setup="$('/root/anaconda3/bin/conda' 'shell.bash' 'hook' 2> /dev/null)"
if [ $? -eq 0 ]; then
eval "$__conda_setup"
else
if [ -f "/root/anaconda3/etc/profile.d/conda.sh" ]; then
. "/root/anaconda3/etc/profile.d/conda.sh"
else
export PATH="/root/anaconda3/bin:$PATH"
fi
fi
unset __conda_setup
# <<< conda initialize <<<
添加镜像源
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/
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 --set show_channel_urls yes
5. 创建conda环境
conda create --name wz_py_3_8 python=3.8
conda activate wz_py_3_8
安装pytorch,注意和cuda版本对应
conda install pytorch==1.9.1 torchvision==0.10.1 torchaudio==0.9.1 cudatoolkit=11.3 -c pytorch
验证gpu是否可用
import torch
torch.cuda.is_available()