前提
Step 0. 下载安装 Anaconda
Step 1. 创建一个新环境并且激活它
conda create --name openmmlab python=3.8 -y
conda activate openmmlab
Step 2. 安装 pytorch
查询 cuda 版本号:
nvidia-smi
得到我们机子上 cuda 的版本号是:11.6
一定去官网查找与 cuda 版本号匹配的 pytorch 版本号:
conda install pytorch==1.13.1 torchvision==0.14.1 torchaudio==0.13.1 pytorch-cuda=11.6 -c pytorch -c nvidia
安装 MMSegmentation
Step 0. 安装 mmcv
一定要去官网上找与 cuda 和 pytorch 版本号匹配的 mmcv 版本号:
pip install -U openmim
mim install mmengine
pip install mmcv==2.0.0rc4 -f https://download.openmmlab.com/mmcv/dist/cu116/torch1.13/index.html
Step 1. 安装 MMSegmentation
pip install mmsegmentation
pip install -v -e .
Step 2. 验证安装包是否安装成功
- 下载 config(模型骨架) 和 checkpoints(模型权重)
mim download mmsegmentation --config pspnet_r50-d8_512x1024_40k_cityscapes --dest .
模型骨架可以在config文件中找到。
权重我下载出现了问题,我直接在网上下载,放入 checkpoints 文件夹中。
- 运行案例代码
python demo/image_demo.py demo/demo.png configs/pspnet/pspnet_r50-d8_4xb2-40k_cityscapes-512x1024.py checkpoints/pspnet_r50-d8_512x1024_40k_cityscapes_20200605_003338-2966598c.pth --device cpu --out-file result.jpg
单卡训练
Step 1. 官方数据集按照官方解压方式形成可以训练的数据集。
本案例用的是CHASE DB1:
python tools/dataset_converters/chase_db1.py /path/to/CHASEDB1.zip
Step 2. 按照官方单卡训练的代码。
方式1:在命令行中运行
python tools/train.py /home/hwz/mmsegmentation-main/configs/unet/unet_s5-d16_deeplabv3_4xb4-40k_chase-db1-128x128.py --work-dir /home/hwz/mmsegmentation-main/mmseg_log
第一个参数是 config(模型骨架)为必填。
如果直接运行tools/train.py会报错:要配置数据集的绝对地址。
方式2:在界面中通过 train.py 运行
- 先修改 tools/train.py 中的参数:
修改为可选参数,并设置默认值:
- 修改数据集 configs/_base_/datasets/chase_db1.py 设置中的地址:
修改为绝对地址: