1. MMSegmentation的安装、单卡训练

587 阅读1分钟

mmsegmentation的官方手册

前提

Step 0. 下载安装 Anaconda

Step 1. 创建一个新环境并且激活它

conda create --name openmmlab python=3.8 -y
conda activate openmmlab

Step 2. 安装 pytorch

查询 cuda 版本号:

nvidia-smi

QQ截图20230723103829.png

得到我们机子上 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 版本号:

图片.png

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. 验证安装包是否安装成功

  1. 下载 config(模型骨架) 和 checkpoints(模型权重)
mim download mmsegmentation --config pspnet_r50-d8_512x1024_40k_cityscapes --dest .

模型骨架可以在config文件中找到。

权重我下载出现了问题,我直接在网上下载,放入 checkpoints 文件夹中。

  1. 运行案例代码
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(模型骨架)为必填。

QQ截图20230723111627.png

如果直接运行tools/train.py会报错:要配置数据集的绝对地址。

方式2:在界面中通过 train.py 运行

  1. 先修改 tools/train.py 中的参数:

微信截图_20230825145645.png

修改为可选参数,并设置默认值:

微信截图_20230825145746.png

  1. 修改数据集 configs/_base_/datasets/chase_db1.py 设置中的地址:

微信截图_20230825150211.png

修改为绝对地址:

微信截图_20230825150246.png