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

mmsegmentation学习笔记

mmsegmentation教程

下载预训练权重

github–>mmsegmentation–>model zoo–>XXX model(如:PSPNet)–>找到预选连权重与config的前缀一致:pspnet_r50-d8_4xb2-40k_cityscapes-512x1024 (model)

了解配置文件

查看配置文件,可以运行 python tools/misc/print_config.py /PATH/TO/CONFIG 来查看完整的配置文件。

python tools/misc/print_config.py configs/deeplabv3plus/deeplabv3plus_r50-d8_4xb4-40k_pascal-context-59-480x480.py
准备数据集
  1. 按照同济子豪兄的西瓜语义分割数据集进行制作
  2. 建立mmseg/datasets/My_Dataset.py
构建模型
  1. 执行以下两步生成完整的配置文件,在文件夹work_dirs中
cd mmsegmentation_ours
python tools/train.py configs/deeplabv3plus/deeplabv3plus_r50-d8_4xb4-40k_pascal-context-59-480x480.py
  1. 复制在configs/deeplabv3plus并命名为:my_deeplabv3plus_r50-d8_4xb4-40k_pascal-context-59-480x480.py
  2. 修改完整的配置文件的num_classes,所有的num_classes=背景+类别数
  3. 修改完整的配置文件的dataloader的路径
  4. 找到路径mmseg/datasets,复制pascal_context.py模仿建立my_pascal_context.py,在init.py中导入,并随后在配置文件中修改数据集格式。
  5. 将type='SyncBN’修改成type=‘BN’
  6. 添加更多的评估指标’mDice’,'mFscore’等等
  7. 修改完成后请pip install -v -e .或者python setup.py install
模型训练
  1. 浏览数据集
 python tools/analysis_tools/browse_dataset.py configs/deeplabv3plus/my_deeplabv3plus_r50-d8_4xb4-40k_pascal-context-59-480x480.py 
  1. 模型训练

方法一:注意tools/train.py ‘xxx’和’–xxx’的区别,有’–‘可以添加也可以不添加,无’–'是必须添加。

python tools/train.py configs/my_deeplabv3plus/deeplabv3plus_r50-d8_4xb4-40k_pascal-context-59-480x480.py

方法二: train.py–>Configuration–>Parameters: E:/Python_Project/mmsegmentation_ours/configs/my_deeplabv3plus/deeplabv3plus_r50-d8_4xb4-40k_pascal-context-59-480x480.py --work-dir mmseg_log -->apply–>run train.py

模型测试
  1. 对验证集或者测试集上图片进行测试
python tools/test.py configs/deeplabv3plus/my_deeplabv3plus_r50-d8_4xb4-40k_pascal-context-59-480x480.py work_dirs/my_deeplabv3plus_r50-d8_4xb4-40k_pascal-context-59-480x480/iter_500.pth --work-dir work_dirs/my_deeplabv3plus_r50-d8_4xb4-40k_pascal-context-59-480x480/test  --show  --show-dir work_dirs/my_deeplabv3plus_r50-d8_4xb4-40k_pascal-context-59-480x480/test_img
  1. 单张图像分割显示:参考同济子豪兄
  2. 批量图像分割显示:参考同济子豪兄
模型分析实用工具
  1. 计算参数量(params)和计算量( FLOPs)
python tools/analysis_tools/get_flops.py configs/deeplabv3plus/my_deeplabv3plus_r50-d8_4xb4-40k_pascal-context-59-480x480.py --shape 512 512

注意:将tools/analysis_tools/get_flops.py进行以下修改:

outputs = get_model_complexity_info(model,# input_shape,#注释掉inputs=data['inputs'],show_table=False,show_arch=False)
  1. 计算FPS,特别注意,在同一个benchmark上面对比性能指标,才有意义,200张以上才有效。
python tools/analysis_tools/benchmark.py configs/deeplabv3plus/my_deeplabv3plus_r50-d8_4xb4-40k_pascal-context-59-480x480.py work_dirs/my_deeplabv3plus_r50-d8_4xb4-40k_pascal-context-59-480x480/iter_5000.pth
  1. 获得Grad-CAM热力图
python tools/analysis_tools/visualization_cam.py
MMDeploy-在线模型转换工具

在线模型转换工具:https://platform.openmmlab.com/deploee
在线模型测速工具:https://platform.openmmlab.com/deploee/task-profile-list

相关文章:

mmsegmentation学习笔记

mmsegmentation教程 下载预训练权重 github–>mmsegmentation–>model zoo–>XXX model(如:PSPNet)–>找到预选连权重与config的前缀一致:pspnet_r50-d8_4xb2-40k_cityscapes-512x1024 (model) 了解配置文件 查看…...

RabbitMQ简易安装

一般来说安装 RabbitMQ 之前要安装 Erlang ,可以去Erlang官网下载。接着去RabbitMQ官网下载安装包,之后解压缩即可。 Erlang官方下载地址:Downloads - Erlang/OTP RabbitMQ官方下载地址:Downloading and Installing RabbitMQ —…...

Mac M1 安装Docker打包arm64的python项目的镜像包

1、首先安装Docker,到官网下载,选择apple chip版 Docker中文网 官网 2、双击下载的dmg文件,在弹出框中之间拖拽到右边 3、打开docker,修改国内镜像源,位置在配置-DockerEngine "registry-mirrors": ["…...

『OPEN3D』1.8 点云的配准理论

点云的配准是将不同的3D点云对齐成一个完成的点云模型;配准的目标是找到两帧点云之间的相对旋转(rotation)与平移(translation),使得两份点云中有重叠的区域能够完好拼接。 点云配准示例图(来自…...

Python数据结构

目录 5.1. 列表详解 5.1.1. 用列表实现堆栈 5.1.2. 用列表实现队列 5.1.3. 列表推导式 5.1.4. 嵌套的列表推导式 5.2. del 语句 5.3. 元组和序列 5.4. 集合 5.5. 字典 5.6. 循环的技巧 5.7. 深入条件控制 5.8. 序列和其他类型的比较 本章深入讲解之前学过的一些内容…...

突发!新华三总裁《致全体员工的一封信》,中高层全面降薪10%-20%!

* 你好,我是前端队长,在职场,玩副业,文末有福利! 精彩回顾:进了央企,拿了户口,却感觉被困住了。 11月23号,某社交平台爆出了新华三总裁于英涛的《致全体员工的一封信》&a…...

QIIME 2介绍

QIIME 2(Quantitative Insights Into Microbial Ecology 2)是一个用于分析和解释微生物组数据的开源生物信息学工具。它是QIIME的第二个版本,经过重新设计以提高灵活性、可扩展性和可重复性。 1. 关于QIIME 2的一些重要特征和概念&#xff1…...

Spring Cloud Gateway 的简单介绍和基本使用

前言 本文主要对Spring Cloud Gateway进行简单的概念介绍,并通过多模块编程的方式进行一个简单的实操。 文章目录 前言1 什么是网关(概念)2 微服务中的网关2.1 问题12.2 问题2 3 网关作用4 Spring Cloud Gateway组成5 Spring Cloud Gateway基…...

Leaflet结合Echarts实现迁徙图

效果图如下&#xff1a; <!DOCTYPE html> <html><head><title>Leaflet结合Echarts4实现迁徙图</title><meta charset"utf-8" /><meta name"viewport" content"widthdevice-width, initial-scale1.0">…...

在mysql存储过程中间部分,使用游标遍历动态结果集(游标动态传参使用)

mysql游标动态传参实现&#xff08;动态游标&#xff09; 1.问题2.需求描述3.实现3.1.使用3.2.代码&#xff08;直接看这都可以&#xff09; 1.问题 众所周知&#xff0c;mysql存储过程功能是没有oracle的包功能强大的&#xff0c;但是在去O的趋势下&#xff0c;mysql存储过程的…...

全球SAR卫星大盘点与回波数据处理专栏目录

近年来&#xff0c;随着商业航天的蓬勃发展&#xff0c;商业SAR卫星星座成为美欧等主要航天国家的发展重点&#xff0c;目前已在全球范围内涌现出众多初创公司进军商业SAR领域&#xff0c;开始构建大规模商业微小SAR卫星星座&#xff0c;其所具有的创新服务能力将为传统的商业遥…...

C语言重点编程题——21-30

目录 21. 从键盘输入的10个整数中,找出第一个能被7整除的数。若找到,打印此数后退出循环;若未找到,打印"not exist" ★★★★22.有一个一维数组,内放10个学生成绩,写一个函数,求出平均分。 23.有N个学生,每个学生的信息包括学号、 性别、姓名、四门课的成绩…...

pip install 使用清华镜像源

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple some-package 官方文档&#xff1a; pypi | 镜像站使用帮助 | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror...

VBA技术资料MF86:将PPT文件批量另存为PDF文件

我给VBA的定义&#xff1a;VBA是个人小型自动化处理的有效工具。利用好了&#xff0c;可以大大提高自己的工作效率&#xff0c;而且可以提高数据的准确度。我的教程一共九套&#xff0c;分为初级、中级、高级三大部分。是对VBA的系统讲解&#xff0c;从简单的入门&#xff0c;到…...

taro h5 ios解决input不能自动获取焦点拉起键盘

描述&#xff1a;页面中有个按钮&#xff0c;点击跳转到第二个页面&#xff08;有input&#xff09;&#xff0c;能直接获取焦点拉起键盘输入 安卓&#xff1a; 直接用focus() ios&#xff1a; focus无效&#xff0c;必须手动拉起 原理&#xff1a; 点击按钮的时候拉起一…...

「Docker」如何在苹果电脑上构建简单的Go云原生程序「MacOS」

介绍 使用Docker开发Golang云原生应用程序&#xff0c;使用Golang服务和Redis服务 注&#xff1a;写得很详细 为方便我的朋友可以看懂 环境部署 确保已经安装Go、docker等基础配置 官网下载链接直达&#xff1a;Docker官网下载 Go官网下载 操作步骤 第一步 创建一个…...

Vue环境的搭建

1.Vue开发的两种方式 &#xff08;1&#xff09;核心包传统开发模式 基于html/css/js文件&#xff0c;直接引入&#xff0c;开发Vue。 &#xff08;2&#xff09;工程化开发模式&#xff08;更常用的一种&#xff09;&#xff1a; 主要是基于构建工具&#xff08;例如,webp…...

在Spring Boot中实现单文件,多文件上传

这篇文章算是一篇水文&#xff0c;因为也没啥好讲的&#xff0c;在Spring Boot中&#xff0c;上传文件是我们常常做的&#xff0c;包括我们在实际开发过程中&#xff0c;我们也经常碰到与文件上传有关的功能&#xff0c;这也算是我们常用的一个功能了&#xff0c;毕竟作为开发者…...

如何在 Web 应用程序中查找端点?

如何在 Web 应用程序中查找端点? 这篇文章主要讲述了如何在网络应用中找到端点。以下是文章的主要要点: 端点是网络服务的访问地址,通过引用这个URL,客户可以访问服务提供的操作。端点提供了寻址Web服务端点所需的信息。 HTTP消息是服务器和客户端之间交换数据的方式,包…...

使用el-scrollbar实现定位滚动,以及el-scrollbar去掉横向滚动条

实现滚动 <el-scrollbar ref"scroll" style"height: 100%;">// ... </el-scrollbar>可以使用如下属性&#xff1a; 想要滚动到哪个指定位置&#xff0c;自己获取或计算 this.$refs[scroll].wrap.scrollTop 0 //想滚到哪个高度&#xff0c;…...

Objective-C常用命名规范总结

【OC】常用命名规范总结 文章目录 【OC】常用命名规范总结1.类名&#xff08;Class Name)2.协议名&#xff08;Protocol Name)3.方法名&#xff08;Method Name)4.属性名&#xff08;Property Name&#xff09;5.局部变量/实例变量&#xff08;Local / Instance Variables&…...

【解密LSTM、GRU如何解决传统RNN梯度消失问题】

解密LSTM与GRU&#xff1a;如何让RNN变得更聪明&#xff1f; 在深度学习的世界里&#xff0c;循环神经网络&#xff08;RNN&#xff09;以其卓越的序列数据处理能力广泛应用于自然语言处理、时间序列预测等领域。然而&#xff0c;传统RNN存在的一个严重问题——梯度消失&#…...

HTML 列表、表格、表单

1 列表标签 作用&#xff1a;布局内容排列整齐的区域 列表分类&#xff1a;无序列表、有序列表、定义列表。 例如&#xff1a; 1.1 无序列表 标签&#xff1a;ul 嵌套 li&#xff0c;ul是无序列表&#xff0c;li是列表条目。 注意事项&#xff1a; ul 标签里面只能包裹 li…...

定时器任务——若依源码分析

分析util包下面的工具类schedule utils&#xff1a; ScheduleUtils 是若依中用于与 Quartz 框架交互的工具类&#xff0c;封装了定时任务的 创建、更新、暂停、删除等核心逻辑。 createScheduleJob createScheduleJob 用于将任务注册到 Quartz&#xff0c;先构建任务的 JobD…...

零基础设计模式——行为型模式 - 责任链模式

第四部分&#xff1a;行为型模式 - 责任链模式 (Chain of Responsibility Pattern) 欢迎来到行为型模式的学习&#xff01;行为型模式关注对象之间的职责分配、算法封装和对象间的交互。我们将学习的第一个行为型模式是责任链模式。 核心思想&#xff1a;使多个对象都有机会处…...

Mac下Android Studio扫描根目录卡死问题记录

环境信息 操作系统: macOS 15.5 (Apple M2芯片)Android Studio版本: Meerkat Feature Drop | 2024.3.2 Patch 1 (Build #AI-243.26053.27.2432.13536105, 2025年5月22日构建) 问题现象 在项目开发过程中&#xff0c;提示一个依赖外部头文件的cpp源文件需要同步&#xff0c;点…...

车载诊断架构 --- ZEVonUDS(J1979-3)简介第一篇

我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 做到欲望极简,了解自己的真实欲望,不受外在潮流的影响,不盲从,不跟风。把自己的精力全部用在自己。一是去掉多余,凡事找规律,基础是诚信;二是…...

用神经网络读懂你的“心情”:揭秘情绪识别系统背后的AI魔法

用神经网络读懂你的“心情”:揭秘情绪识别系统背后的AI魔法 大家好,我是Echo_Wish。最近刷短视频、看直播,有没有发现,越来越多的应用都开始“懂你”了——它们能感知你的情绪,推荐更合适的内容,甚至帮客服识别用户情绪,提升服务体验。这背后,神经网络在悄悄发力,撑起…...

深度解析云存储:概念、架构与应用实践

在数据爆炸式增长的时代&#xff0c;传统本地存储因容量限制、管理复杂等问题&#xff0c;已难以满足企业和个人的需求。云存储凭借灵活扩展、便捷访问等特性&#xff0c;成为数据存储领域的主流解决方案。从个人照片备份到企业核心数据管理&#xff0c;云存储正重塑数据存储与…...

__VUE_PROD_HYDRATION_MISMATCH_DETAILS__ is not explicitly defined.

这个警告表明您在使用Vue的esm-bundler构建版本时&#xff0c;未明确定义编译时特性标志。以下是详细解释和解决方案&#xff1a; ‌问题原因‌&#xff1a; 该标志是Vue 3.4引入的编译时特性标志&#xff0c;用于控制生产环境下SSR水合不匹配错误的详细报告1使用esm-bundler…...