复现open-mmlab的mmsegmentation详细细节

复现open-mmlab的mmsegmentation详细细节

1.配置环境

stage1:创建python环境

复制代码
conda create --name openmmlab python=3.8 -y
conda activate openmmlab

stage2:安装pytorch(这里我是以torch1.10.0为例)

复制代码
pip install torch==1.11.0+cu113 torchvision==0.12.0+cu113 torchaudio==0.11.0 --extra-index-url https://download.pytorch.org/whl/cu113

stage3:安装MMCV,全部都可以加上清华源,-i https://pypi.tuna.tsinghua.edu.cn/simple

复制代码
pip install openmim
pip install mmengine
pip install "mmcv>=2.0.0"

但是,这里在安装mmcv的时候,容易出错,比如:ImportError: DLL load failed while importing _ext: 找不到指定的程序。

很大就是mmcv版本装的有问题。

我们定位到mmcv的安装文档

复制代码
https://mmcv.readthedocs.io/en/latest/get_started/installation.html#install-mmcv

会有根据操作系统、cuda版本,以及torch的版本后,确定自己选择的mmcv版本,进而生成最终的安装指令。

stage4:安装MMSegmentation:

方式1:

复制代码
git clone -b main https://github.com/open-mmlab/mmsegmentation.git
cd mmsegmentation
pip install -v -e .

方式2:

复制代码
pip install "mmsegmentation>=1.0.0"

2.数据处理

这里我们以COCO Stuff 10k为例:tools/dataset_converters/coco_stuff10k.py

复制代码
mkdir coco_stuff10k && cd coco_stuff10k
wget http://calvin.inf.ed.ac.uk/wp-content/uploads/data/cocostuffdataset/cocostuff-10k-v1.1.zip
unzip cocostuff-10k-v1.1.zip

下载并解压好,目录如下,我将他们统一放在data/coco_stuff10k文件夹下。

images存放的是.jpg格式的数据集图片。

annotations存放是.mat格式的标注文件,我们后边需要使用脚本转换成mask。

imageLists存放的是划分数据集对应于train和test的.txt文件,里面存放的是数据集的名称。

下面,需要将annotations存放是.mat格式的标注文件转换成mask的png图片,以及划分数据集。

mmsegmentation根路径下的tools/dataset_converters/coco_stuff10k.py。coco_path 指向我们解压好的数据集根路径,out_dir 指向data下的output,用于存放转换的mask。

复制代码
python tools/dataset_converters/coco_stuff10k.py coco_path data/coco_stuff10k --out_dir data/dataset

就会生成如下的文件夹,已经划分好数据集,并且标注文件全部由.mat转换成了.png。

3.训练

训练脚本就是mmsegmentation根路径下的tools/train.py。主要就是指定config文件,以及输出文件夹路径。

config文件包含网络模型和数据的配置,这里就以mask2former和coco_stuff10k数据集为例:

其中,这里我选择的配置文件,就是模型的配置文件等,均以字典形式保存,都在configs文件夹下,我们找到自己想使用的模型。

比如,我们使用mask2former文件下的mask2former_r50_8xb2-90k_cityscapes-512x1024.py这个配置文件,主要看_base_列表。

这里我们因为是使用coco_stuff10k,更改为../_base_/datasets/coco-stuff10k.py,并定位到configs/_base_/datasets/coco-stuff10k.py。将这里的data_root更换为上面处理好的数据集根路径即可。

开始训练:

复制代码
python tools/train.py config configs/mask2former/mask2former_r50_8xb2-90k_cityscapes-512x1024.py --work-dir output
相关推荐
欧特克_Glodon5 小时前
OpenCV计算机视觉开发入门与实践<二十七>:图像分割概述
c++·人工智能·opencv·计算机视觉
alphaTao5 小时前
LeetCode 每日一题 2026/8/24-2026/8/30
python·算法·leetcode
苏灿烤鱼5 小时前
当 AI Agent 遇见真实科学环境:深度拆解 Scientific Agent Skills,把"聊天机器人"变成"AI 科学家"
python·开源·agent
张文君5 小时前
ubuntu26.04坏道坏块分区隔离急速版260831-V0.12
linux·python
寒霜雨刃14 小时前
【原创】海光Z100 DCU适配vLLM实录(二):W4A16大M Prefill结构重写、GDN融合与长上下文HIP Attention
深度学习·神经网络·amd·rocm·ai infra·海光z100·gfx906
lupai16 小时前
手机在网状态接口实测效果与质量评估
大数据·python·智能手机·api接口
hahaha601617 小时前
HLS高层次综合设计技巧--C++类和模板
图像处理·人工智能·算法·计算机视觉
荷蒲17 小时前
【小白量化Qbuddy】用AI设计miniQMT指标公式计算量化平台
人工智能·python·机器人
阿童木写作17 小时前
跨境电商图片翻译工具,批量翻译视频字幕一键抠图
人工智能·python·音视频
何以解忧,唯有..18 小时前
Pydantic 介绍与使用:Python 数据校验的现代方案
数据库·python·microsoft