前言
MMDetection在安装流程上,如果只是复制粘贴官方的文档,恐怕最终大概率是没法安装成功的(
而我上云以后,次次仓促复制粘贴,更是带来了大量不必要的麻烦,有时候还是需要因地适宜的修改些内容。
这里记录下安装流程,便于我自己之后每次在服务器上安装时顺利。
确定环境
遇到稀奇古怪的服务商提供的Docker环境时,先用自带pytorch的镜像(大多肯定都有吧?),测试下cuda正不正常,避免之后浪费大量时间安装
python
import pytorch
print(torch.cuda.is_available())
返回Ture代表显卡环境无问题。
接下来再确定下CUDA的版本,避免出问题。
nnvc --version
稍后安装对应版本的pytorch即可。
安装conda
其实感觉一般都自带,检查下有没有吧,没有再装
mkdir -p ~/miniconda3
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh -O ~/miniconda3/miniconda.sh
bash ~/miniconda3/miniconda.sh -b -u -p ~/miniconda3
rm -rf ~/miniconda3/miniconda.sh
~/miniconda3/bin/conda init bash
~/miniconda3/bin/conda init zsh
安装MMD
首先初始化conda的环境
conda create --name openmmlab python=3.8 -y
conda activate openmmlab
之后安装pytorch,注意确认cuda的版本。
本处安装的是cu121,pytorch210,经过测试,cu118+pytorch210/200均有mmd预编译好的仓库,cu121+200亦有,220则均没有,故需要指定版本。
conda install pytorch=2.1.0 torchvision torchaudio pytorch-cuda=12.1 -c pytorch -c nvidia
如果使用了清华源(tuna),则需要去掉nvidia的channel,或不要再使用清华源,毕竟目前在conda已经使用cloudflare分发的情况下,无特殊情况,连接状况应该都不错。
尔后开始安装MMD的依赖
pip install -U openmim
mim install mmengine
mim install mmcv
mim偶尔会有点抽风,抽风了就用pip3装吧
出现了各种依赖问题则需要单独用pip安装。
安装完毕后,开始安装MMDetection
git clone https://github.com/open-mmlab/mmdetection.git
cd mmdetection
pip install -v -e .
官方的方式是直接拉MMD仓库下来,不过这样不太适合版本控制,若有需要可以替换成自己fork的仓库。
EX
安装wandb(记录数据)
pip install wandb
安装tmux(会话持久)
apt install tmux
安装v2ray(科学上网)
bash <(curl -L -s https://install.direct/go.sh)
apt isntall nano
nano /etc/v2ray/config.json
给wandb设置代理(该为配置python的requests库,注意环境是否在conda内)
export HTTPS_PROXY="http://127.0.0.1:7891"
export https_proxy="http://127.0.0.1:7891"
我的一键训练指令
bash tools/dist_train.sh configs/coco/mask-rcnn.py 2 --cfg-options efficient_conv_bn_eval="[backbone]"