当前位置: 首页 > news >正文

MMsegmentation第一弹-(认识与安装)

前言

  • 在刚接触MMsegmentation的时候,我是怎么看都看不明白,那个过程实在是太痛苦了,所以我当时就想着一定要把这个写成文章,希望后来者能很轻松的就上手。
  • 该系列文章不涉及框架的底层原理,仅以一个使用者的身份带领读者学会使用MMsegmentation。若有帮助还望多多支持。

MMsegmentation官方资源

官方代码网站: https://github.com/open-mmlab/mmsegmentation

官方文档网站:https://mmsegmentation.readthedocs.io/zh-cn/0.x/

note: mmseg有多个版本,看文档的时候注意下自己看的是第几版本的文档

MMsegmentation代码下载

note: 本篇教程以 mmseg v0.30.0 版本为例
进入官方网站,点击Tags,选择v0.30.0版本

MMsegmentation目录结构介绍

主要目录介绍
  • 若要看详细介绍,请浏览https://zhuanlan.zhihu.com/p/520397255,官方这篇写的还挺不错的。
mmsegmentation 
| 
|- configs # 配置文件 
|     |- _base_ # 基配置文件 
|     |     |- datasets             # 需要修改
|     |     |- models               # 需要修改 
|     |     |- schedules            # 一般不需要修改
|     |     |- default_runtime.py   # 一般不需要修改
|     |
|	  |- swin                     # 需要修改  
|     |- 配置写在这个位置...                         
|- data                           # 一般把data放在这儿,放在别的地方也ok 
|- mmseg # 配置文件具体实现位置 
|     |- core # 核心组件 一般不需要修改
|     |     |- evaluation         # 评估模型性能代码 
|     |- datasets # 数据集相关代码 
|     |     |- pipelines          # 数据预处理 ---一般不需要修改
|     |     |- samplers           # 数据集采样代码 ---一般不需要修改
|     |     |- ade.py             # 各个数据集的代码 
|     |     |- 自己数据集.py       # 需要修改
|     |     |- ... 
|     |- models # 分割模型具体实现代码 
|     |     |- backbones             # 主干网络 
|     |     |- decode_heads          # 解码头 
|     |     |- losses                # 损失函数 
|     |     |- necks                 # 颈 
|     |     |- segmentors            # 构建完整分割网络的代码 
|     |     |- utils                 # 构建模型时的辅助工具 
|- tools # 一般不需要修改
|     |- model_converters          # 各个主干网络预训练模型转 key 脚本 
|     |- convert_datasets          # 各个数据集准备转换脚本 
|     |- train.py                  # 训练脚本 
|     |- test.py                   # 测试脚本 
|     |- ...                       
|- ...
从我自身使用角度来看,与我们相关的有以下几个文件夹:
  • configs 包括了各个算法的配置文件、存放常用的数据集配置、基础模型以及训练策略的基配置文件 configs/_base_

    • 大白话: 运行代码,就需要在 configs目录下写一个配置文件 File,在 File 中调用 configs/_base_ 的文件

    • 例如:在configs目录中创建了一个文件夹 1.example,然后在里边创建了 demo.py

    • 接下来我在demo.py中调用 configs/_base_ 中的文件

  • mmseg 里面是 MMSegmentation 的算法库,包括核心组件、数据集处理、分割模型代码和面向用户的 API 接口。我们一般情况下修改如下几个地方就足够了

    • backbone:特征提取部分,类似于U-Net的编码器
    • necks:对backbone输出的特征再做一次增强,类似于U-Net中的跳跃连接,可以没有necks
    • decode_heads: 类似于U-Net的解码器
    • losses:损失,如果需要添加一些新的损失,在这个里边添加
  • tools 包括了调用 MMSegmentation 作为训练和测试入口的 tools/train.py tools/test.py,预训练模型和数据集准备的转换脚本,以及部署和可视化相关的脚本。平常用到的基本上就是下边这四个文件。这里的文件我们一般不用进行修改。

MMsegmentation环境安装

note: 本篇教程以 mmseg v0.x版本为例

官方文档网站:https://mmsegmentation.readthedocs.io/zh-cn/0.x/

点击依赖

  • 第一步,默认读者已经安装好了conda或者miniconda

  • 第二步:conda create --name environmentName python=3.8 -y
    • --name 后边的是虚拟环境名称
    • python后边是对应的版本,如果已知要安装torch的版本,需要注意下python和torch的版本需要匹配,这个 大家在网上搜一下就可以查到。
    • -y 就是安装的时候默认yes,不用用户再进行输入。
  • 第三步:这里我以GPU安装为例,点击官方说明四个字

  • 然后在下图中的页面中选择自己需要安装的torch版本即可
    • note: 感觉打开这个网址还需要进行科学上网

  • 第四步:按下图执行命令即可

  • 第五步:一般情况下我们都是在mmseg中开发代码,所以都是选择从源码安装,在前边我已经介绍过代码下载这里就不进行赘述。

  • 下载源码后,我们需要在下图目录中执行pip install -v -e . (e后边间隔后还有一个.)

`

到此安装过程就算完成了

运行MMsegmentation遇到的问题

按照上述步骤运行后,有时会出现 mmcv版本不匹配 的问题
解决方法:在mmseg目录下有一个__init__.py,按下图操作即可。

参考文章

  • 超详细!带你轻松掌握 MMSegmentation 整体构建流程:https://zhuanlan.zhihu.com/p/520397255

相关文章:

  • 试水低代码平台Nocoly
  • DeepSeek-R1: LLMs 通过强化学习激励推理能力
  • LLM量化技术全景:GPTQ、QAT、AWQ、GGUF与GGML
  • 基于 EFISH-SBC-RK3588 的无人机环境感知与数据采集方案
  • Langchain检索YouTube字幕
  • 智能电网第5期 | 老旧电力设备智能化改造:协议转换与边缘计算
  • Langchain_Agent+数据库
  • Framework.jar里的类无法通过Class.forName反射某个类的问题排查
  • PCB 过孔铜厚的深入指南
  • Rust 2025:内存安全革命与异步编程新纪元
  • 解决编译pcl时报错‘chrono_literals‘: is not a member of ‘std‘
  • .NET Framework 4.0可用EXCEL导入至DataTable
  • 如何保证高防服务器中的系统安全?
  • Linux系统的延迟任务及定时任务
  • 阶段性人生答疑解惑篇:穿越市场迷雾,重构生命坐标系
  • 从数据到智慧:解密机器学习的自主学习密码
  • 下篇:深入剖析 BLE GATT / GAP / SMP 与应用层(约5000字)
  • .NET代码保护混淆和软件许可系统——Eziriz .NET Reactor 7
  • React-JSX语法
  • 第七届能源系统与电气电力国际学术会议(ICESEP 2025)
  • 生态环境法典草案拟初审:应对气候变化等问题将作原则性规定
  • 山西10岁男孩遭生母和继父殴打遇害,案件庭审延期
  • 打破“内卷”与“焦虑”怪圈,在阅读中寻找松弛感
  • 上海未来亚洲研究会第六届会员大会举行,叶青当选会长
  • 国防部:“台独”武装摆练纯属搞心理安慰,怎么演都是溃败的死局
  • 山东一季度GDP为23466亿元,同比增长6.0%