【U-Net】训练自己的数据集

news/2024/5/9 14:16:11/文章来源:https://blog.csdn.net/weixin_45768644/article/details/129729635

代码用的是b导的
整个训练流程也是根据b导的视频来的
源码地址:https://github.com/bubbliiiing/unet-pytorch
博客地址:https://blog.csdn.net/weixin_44791964/article/details/108866828

# 一、准备数据集

1、使用labelme软件标注数据,得到json文件

注意:图片格式为.jpg,位深为24位,否则无法标注。

2.数据集的格式
SegmentationClass里的存放的是JPEGImages里的图片标注过后的png图片
在这里插入图片描述
3.制作自己的数据集
把原始图像放在datasets>before
before里含有jpg的原始图片和json的标注文件

使用labelme生成json的标注文件

在这里插入图片描述
4.运行json_to_dataset.py
完成图片的标注后,可以运行根目录下的json_to_dataset.py文件,将数据转化为固定的格式。
运行前需要修改类
在这里插入图片描述

json_to_dataset.py运行完成后saved 1.jpg and 1.png 分别存放在JPEGImages和SegmentationClass
在这里插入图片描述
在这里插入图片描述

最后,可以把在dataset里生成后的JPEGImags和SegmentationClass文件复制到VOCdevkit里的JPEGImags和SegmentationClass文件。
在这里插入图片描述
在这里插入图片描述
5.训练集和验证集划分
运行voc_annotion.py文件后生成train.txt文件和val.txt文件

二、训练

1train.py文件中参数设置

Cuda 是否使用cuda,没有gpu可以设置为False
num_classes 数目为分类个数+1,这里的1是background
model_path 预训练权重
VOCdevkit_path=‘VOCdevkit’ 数据集路径

2.训练自己的数据集

python train.py

训练后保存的文件在根目录的logs文件夹下
在这里插入图片描述

3.利用训练好的模型进行预测
unet.py文件中

修改model_path和num_classes
model_path指向logs文件夹下的权值文件
num_classes为类别个数+1

运行predict.py文件,预测图片
需要输入你要预测的图片的路径
4.Miou评价指标计算

修改model_path和num_classes
model_path指向logs文件夹下的权值文件
num_classes为类别个数+1
修改name_classes

运行get_miou.py

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_290398.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

TiDB实战篇-Data Migration (DM) 同步数据

目录 简介 原理 任务管理 ​编辑同步拓扑示例 使用场景 限制 硬件配置 安装&升级 部署 生成配置文件 生成配置文件模板 更具自身的机器修改 部署 启动集群&查看集群 实战 上游数据库前提 配置mysql的相关配置 编写DM的MySQL相关配置 把MySQL和DM …

jsp+springboot基于ssm的人才招聘求职网站推荐模拟考试系统java idea

登录需要随机数字验证码 管理员: 招聘管理 求职信息管理 , 招聘信息管理 人员管理 管理注册的用户进行审核操作 公告管理 发布公告新闻 (公告我想不到啥意思,可修改或增加别的) 个人信息 修改个人信息 招聘者&am…

KDZRS-40A三通道变压器直流电阻测试仪

一、产品概述 变压器绕组的直流电阻测试是变压器在交接、大修和改变分接开关后的试验项目。在通常情况下,用传统的方法(电桥法和压降法)测量变压器绕组以及大功率电感设备(发电机)的直流电阻是一项费时费工的工作。为了…

solidworks2022 - feature works 变灰的解决方法

文章目录 solidworks2022 - feature works 变灰的解决方法概述实验feature works 变灰问题的重现备注END solidworks2022 - feature works 变灰的解决方法 概述 feature works 用于step文件转零件. 一般是不同版本的solidworks交换文件的方法. 今天突然发现, 我自己转出的ste…

为什么要学习微服务?

文章目录 1.认识微服务1.1微服务由来1.2为什么需要微服务? 2.两种架构2.1.单体架构2.2.分布式架构 3.微服务的特点4.SpringCloud5.总结最后说一句 1.认识微服务 随着互联网行业的发展,对服务的要求也越来越高,服务架构也从单体架构逐渐演变为…

chatGPT衣食住行10种场景系列教程(01)使用chatGPT设计发型、P图变漂亮~真帅哈哈哈~

导读 时隔5个多月,chatGPT可谓是一日千里,越演越火,携带着AIGC行业一起飞了起来,那么在短短5个月当中有那些值得我们关注的事件?有那些好玩的场景?以及有那些chatGPT好用的工具?本文都将一一告…

Linux 远程访问控制 SSH SCP SFTP TCP-Wrappers

SSH&#xff08;secure shell&#xff09;协议 一种安全通道协议&#xff0c;主要用来实现字符界面的远程登录、远程复制等功能。 协议对通信双方的数据传输进行了加密处理&#xff0c;其中包括用户登录时输入的用户口令 SSH客户端<-----------------网络------------------…

WPF教程(十一)---数据绑定(4)--数据类绑定

一、排序 如果想以特定的方式对数据进行排序&#xff0c;可以绑定到 CollectionViewSource&#xff0c;而不是直接绑定到 ObjectDataProvider。CollectionViewSource 则会成为数据源&#xff0c;并充当截取 ObjectDataProvider 中的数据的媒介&#xff0c;并提供排序、分组和筛…

ubuntu虚拟机增加磁盘后,虚拟机内部应该如何分配对应空间

fdisk -l 输入命令 parted /dev/sda 输入命令 unit s 设置Size单位&#xff0c;方便追加输入 输入命令 p free 查看详情 输入命令 resizepart 3 追加容量到sda3 输入命令 83886046s 空闲容量区间Free Space结束位置 输入命令 q 退出 输入命令 pvresize /dev/sda3 更新pv物…

设计模式 --- 概述

一、设计模式概述 1.1、软件设计模式的产生背景 "设计模式"最初并不是出现在软件设计中&#xff0c;而是被用于建筑领域的设计中。 1977年美国著名建筑大师、加利福尼亚大学伯克利分校环境结构中心主任 克里斯托夫亚历山大 &#xff08;Christopher Alexander&…

Unity-ML-Agents-训练生成的results文件解读-PushBlock

前言 训练结果文件路径&#xff1a;E:\ml-agents-release_19\results\push_block_test_02&#xff08;具体路径以自己电脑为准&#xff09; ML-Agents安装和PushBlock训练过程请见&#xff1a;&#xff08;注意&#xff1a;push_block_test_02没有全部训练完毕&#xff09; …

认识网络随机丢包

考虑一根漏水的管子&#xff0c;希望出水口接到和不漏的管子等量的水&#xff0c;要么靠时间&#xff0c;反复将漏掉的水重新注入&#xff0c;直到漏掉的水可忽略&#xff1a; ​ 要么靠空间&#xff0c;在漏的地方将管子加粗&#xff0c;一次性注入更多的水&#xff1a; 不…

如何在云服务器/云主机上部署最新版本的Hadoop3.3.5(Ubuntu20.0.4)

在云服务器上部署Hadoop 步骤1&#xff1a;更新系统 sudo apt-get update sudo apt-get upgrade步骤2&#xff1a;安装Java Hadoop需要Java运行环境。首先&#xff0c;安装OpenJDK 8&#xff1a; sudo apt-get install openjdk-8-jdk检查Java版本&#xff1a; java -versi…

掌握Linux指令和权限:一个入门教程

目录 一.Linux基本指令1.ls指令2.pwd指令3.cd指令4.touch指令5.mkair指令6.rmdir和rm指令 一.Linux基本指令 1.ls指令 语法格式:ls [选项][目录或者文件] 功能&#xff1a;对于目录&#xff0c;该命令列出该目录下的所有子目录与文件。对于文件&#xff0c;将列出文件名以及其…

EtherCAT和Ethernet的不同点有哪些, 通信周期又是什么意思?

小伙伴们&#xff0c;我们又来了。上期大概介绍了EtherCAT的一些特性&#xff0c;本期我们将会更详细的介绍一下EtherCAT的实现方式&#xff0c;通信周期的意义到底是什么、SDO和PDO到底是什么等概念。 首先要声明&#xff0c;尽管本期介绍略微深入&#xff0c;实际上小伙伴使…

响应式开发HTML5CSS3实现视频播放器的功能案例

目录 前言 一、本视频播放器需要实现的功能 ​二、代码分布结构 三、部分主要代码 1.index01.html 2.video1.css 3.video1.js 四、images图片资源及视频 五、运行效果 前言 1.本文讲解的响应式开发技术&#xff08;HTML5CSS3Bootstrap&#xff09;的HTML5视频播放器等…

AIPRM for ChatGPT插件让ChatGPT如虎添翼

ChatGPT大热&#xff0c;家人们都申请到了账号&#xff0c;可是总是在一问一答的基础上来完成基本的应用&#xff0c;而不能很好的使用「咒语」&#xff08;Prompt&#xff09;&#xff0c;收获的答案不是通过很多次的反复问获取答案&#xff0c;就是获取的不是想要的答案。所以…

【HCIP】Huawei设备下IPV4IPV6共存实验

目录 方法一、普通的GRE将V6基于V4通讯 方法二、6to4的tunnel 方法三、双栈 方法一、普通的GRE将V6基于V4通讯 //方法一和方法二的前提&#xff0c;搭个简单的V4网络就行 [r1]int g0/0/0 [r1-GigabitEthernet0/0/0]ip address 12.1.1.1 24 [r1]router id 1.1.1.1 [r1-Gigabi…

分布式数据一致性解决方案推理过程

redis是一个极轻量级的进程&#xff0c;单机单线程单进程。 使用redis很容易实现分布式锁&#xff1a;setnx&#xff0c;同一个key&#xff0c;谁设置成功了&#xff0c;谁就抢到了锁&#xff0c;所以就产生了多锁问题。 假设客户端1抢到了锁&#xff0c;redis挂了&#xff0c…

不懂就问,Milvus 新上线的资源组功能到底怎么样?

在近期更新的 Milvus 2.x 版本中&#xff0c;我们上线了在社区中呼声一直很高的【资源组功能】。有了这个功能&#xff0c;用户再也不需要“为每个 collection 部署一套 Milvus 服务”的方案&#xff0c;轻松实现对 Query Node 资源进行分组管理&#xff0c;达到物理资源隔离的…