实验室服务器的cuda进行了一波更新,现在是cuda11.2。因此重新配置下环境。基本上所有环境都是围绕cuda版本进行的配置。(虽然不知道为什么)
因此现在是Ubuntu18.04+python3.8.13(据说python3.8好点 兼容性)+(torch1.10.1+cu111)+cuda11.2+cudnn8.1.0+mmdet 2.23.0+mmcv-full 1.4.0
目录
1、cuDNN的配置
2、conda环境建立
3、pytorch安装
4、MMdet
5、(附录)移动anaconda、pycharm配置
一开始只有cuda,没有对应的cudnn。
点这个链接进去下载对应cuda版本的cudnn:https://developer.nvidia.com/rdp/cudnn-downloadhttps://developer.nvidia.com/rdp/cudnn-download
选择这个下载。
下载完得到一个
cudnn-11.2-linux-x64-v8.1.0.77.tgz
tar zxvf解压 得到 一个 cuda文件夹
接下来主要把cuda/include/cudnn.h和cuda/lib64/libcudnn*复制到cuda11.2的对应文件夹里面
首先要看下环境配置里有没有cuda
sudo gedit ~/.bashrc
没有,那么加入
export CUDA_HOME=/usr/local/cuda
export PATH=$PATH:$CUDA_HOME/bin
export LD_LIBRARY_PATH=/usr/local/cuda-11.2/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
save后,回到刚刚解压cudnn的目录(得到cuda文件夹的目录)
然后将解压得到的cuda里面关于cudnn的东西复制到cuda11-2文件夹对应目录理
注意新版本的cudnn跟老版本的不一样 老版本的include只需要复制一个cudnn.h 新版本需要*全部
sudo cp cuda/include/* /usr/local/cuda-11.2/include/
sudo cp cuda/lib64/* /usr/local/cuda-11.2/lib64/
然后添加可执行权限(?)
sudo chmod +x /usr/local/cuda-11.2/include/*
sudo chmod +x /usr/local/cuda-11.2/lib64/*
最后,验证cudnn
查看cuDNN版本的旧版本指令为cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A2,新版本有更新,将cuDNN版本信息单拉了一个文件名为cudnn_version.h,所以新版本查看cuDNN版本的命令为
cat /usr/local/cuda/include/cudnn_version.h | grep CUDNN_MAJOR -A 2
得到结果
首先看conda的源:
conda config --show-sources
发现显示空白,说明没有对应的.condarc文件,那就先创建
conda config --set show_channel_urls yes
然后编辑
vim ~/.condarc
注意,如果没有vim的话,先更新apt-get 然后用apt-get install
apt-get update
apt-get install vim
按i输入
channels:
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/
ssl_verify: true
按ESC键后Shift+ZZ保存退出。
按照MMDET官网的安装步骤中,关于pytorch的安装很简单,但是会附加安装cuda11.3.
torch官方没有对应cuda11.2出一个版本,但是有对应cuda11.1版本的torch,无所谓。反正我的显卡能支持CUDA11.1就行(一般向下兼容)
pip install torch==1.10.1+cu111 torchvision==0.11.2+cu111 torchaudio==0.10.1 -f https://download.pytorch.org/whl/torch_stable.html
通过下列语句可以测试torch有没有正确安装:
python
import torch
print(torch.__version__)
print(torch.cuda.is_available())
这里用git clone下载mmdetection包会超时,无奈只能电脑下载然后上传到服务器里
注意,我这里用的mmdet是2.23.0版本的,这个版本要求mmcv-full只能在1.3.17到1.5.0之间。因此正常情况下直接min install mmcv-full即可(默认下载最新版?反正给我下载了个1.6.1的,用不了),而我改用了mim install mmcv-full==1.4.0(实际上用pip也行)
pip install -U openmim
mim install mmcv-full==1.4.0
#mim install mmcv-full
git clone https://github.com/open-mmlab/mmdetection.git #这一步我直接上传了
cd mmdetection #注意我的文件夹应该是mmdetection-master
pip install -v -e .
验证:
mim download mmdet --config yolov3_mobilenetv2_320_300e_coco --dest .
#下载一个checkpoint
python demo/image_demo.py demo/demo.jpg yolov3_mobilenetv2_320_300e_coco.py yolov3_mobilenetv2_320_300e_coco_20210719_215349-d18dff72.pth --device cpu --out-file result.jpg
没有报错,并且看到一个图片文件result.jpg
5、(附录)移动anaconda、pycharm配置
因为服务器的anaconda默认在/root下,每次docker爆了就要重新搭配环境(anaconda会被重置)