复现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
相关推荐
星星也在雾里11 分钟前
【管理多版本Python环境】Anaconda安装及使用
python·anaconda
用户37215742613522 分钟前
使用 Python 将 CSV 文件转换为 PDF 的实践指南
python
大佬,救命!!!23 分钟前
算法实现迭代2_堆排序
数据结构·python·算法·学习笔记·堆排序
arron889927 分钟前
Visual Studio 2017(VS2017)可以编译 OpenCV 4.5.5 为 32 位(x86)版本
ide·opencv·visual studio
BB_CC_DD29 分钟前
在NVIDIA Jetson Orin NX (Ubuntu 22.04, JetPack 5.1, CUDA 11 cuDnn8) 上安装PyTorch 2
pytorch·深度学习·ubuntu
youngfengying40 分钟前
身体活动(physical activity)---深度学习
人工智能·深度学习
AI人工智能+1 小时前
药品经营许可证识别技术:通过深度学习算法实现资质文件的自动化识别与核验
人工智能·深度学习·ocr·药品经营许可证识别
总有刁民想爱朕ha1 小时前
Python自动化从入门到实战(24)如何高效的备份mysql数据库,数据备份datadir目录直接复制可行吗?一篇给小白的完全指南
数据库·python·自动化·mysql数据库备份
孤客网络科技工作室1 小时前
Python - 100天从新手到大师:第五十七天获取网络资源及解析HTML页面
开发语言·python·html
_Never_stop_1 小时前
ppt的png转eps,在overleaf编译
图像处理