swin-transformer训练自己的数据集<自留>

2023-11-09

前期准备(数据处理)

标注数据集

LabelMe----> COCO

  1. LabelImg:能标注 VOC、YOLO格式数据集,标注VOC数据集尤其推荐
  2. 安装:pip install labelimg -i [http://mirrors.aliyun.com/pypi/simple/](http://mirrors.aliyun.com/pypi/simple/) --trusted-host mirrors.aliyun.com
  3. 启动: 直接在命令中输入 labelimg 启动软件
  4. ①勾选 View - Auto Save mode:这样切换到下一张图时就会将标签文件自动保存在Change Save Dir设定的文件夹。
    ②Open Dir:选择图片所在的文件夹 JPEGimages
    ③Change Save Dir:选择保存标签文件要保存的目录 Annotations
  5. 快捷键
    A:上一张图
    D:下一张图
    W:绘制矩形框

** LabelImg----> VOC **

  1. LabelMe:格式为LabelMe,提供了转VOC、COCO格式的脚本,可以标注矩形、圆形、线段、点。标注语义分割、实例分割数据集尤其推荐。
  2. 安装:pip install labelme -i [http://mirrors.aliyun.com/pypi/simple/](http://mirrors.aliyun.com/pypi/simple/) --trusted-host mirrors.aliyun.com
  3. 启动: 直接在命令行输入 labelme 启动软件
  4. ①勾选 File->Automatically:这样切换到下一张图时就会将标签文件自动保存在Change Save Dir设定的文件夹。
    ②Open Dir:选择图片所在的文件夹 JPEGimages
    File-> Change Output Dir:选择保存标签文件所在的目录 Annotations
    ③Edit -> Create Rectangle:选中,开始画矩形框
    ④注:如果想删除某个框,需要先点击左侧 Edit Polygons,然后再选择你要删的框,点击del键
  5. 快捷键
    A:上一张图
    D:下一张图
    Ctrl + R:画矩形框

VOC 转COCO
在github上下载运行,把voc数据集改为CoCo数据集
注:把数据在网站中格式化处理,可以看到数据集中的每个类别

一、结构目录

数据集目录
annotations下包含的是标签文件,分别有测试集(test)训练集(train)验证集(val)中间包含文件信息,目标位置信息
主要目录结构

二、要修改的地方

需要修改的地方

  1. 类别 修改configs/base/models/mask_rcnn_swin_fpn.py中的num_classes
#num_classes=80,#类别
num_classes=4,#类别改为4  我们训练的类别是4
  1. 配置权重信息 修改 configs/base/default_runtime.py 中的 interval,loadfrom
    interval:dict(interval=1) # 表示多少个 epoch 验证一次,然后保存一次权重信息
    loadfrom:表示加载哪一个训练好(预训练)的权重,可以直接写绝对路径如: load_from = r"E:\workspace\Python\Pytorch\Swin-Transformer-Object-Detection\mask_rcnn_swin_tiny_patch4_window7.pth"
    在这里插入图片描述

  2. 修改训练图片尺寸大小:如果显存够的话可以不改(基本都运行不起来),文件位置为:configs/swin/mask_rcnn_swin_tiny_patch4_window7_mstrain_480-800_adamw_3x_coco.py

修改所有的 img_scale 为 :img_scale = [(224, 224)] 或者 img_scale = [(256, 256)] 或者 480,512等。
在这里插入图片描述
同时 configs/base/datasets/coco_instance.py 中的 img_scale 也要改成 img_scale = [(224, 224)] 或者其他值
注意:值应该为32的倍数,大小根据显存或者显卡的性能自行调整

  1. 配置数据集路径:configs/base/datasets/coco_instance.py
    修改data_root文件的最上面指定了数据集的路径,因此在项目下新建 data/coco目录,下面四个子目录 annotations和test2017,train2017,val2017。
    数据集跟路径
  2. 修改该文件下的 train val test 的路径为自己新建的路径:configs/base/datasets/coco_instance.py
    训练集、测试集、验证集 路径
  3. 修改 batch size 和 线程数,路径:configs/base/datasets/coco_instance.py ,根据自己的显存和CPU来设置
samples_per_gpu=8,  # batch size
workers_per_gpu=4,  # 每个GPU对应线程数 可以大一些

在这里插入图片描述
7. 修改分类数组:mmdet/datasets/coco.py
CLASSES中填写自己的分类:

CLASSES = ('person', 'bicycle', 'car')

在这里插入图片描述
8. 修改最大epoch configs/swin/mask_rcnn_swin_tiny_patch4_window7_mstrain_480-800_adamw_3x_coco.py
修改72行:runner = dict(type=‘EpochBasedRunnerAmp’, max_epochs=36)#最大epochs
在这里插入图片描述

三、开始训练

在终端输入

python tools/train.py configs\swin\mask_rcnn_swin_tiny_patch4_window7_mstrain_480-800_adamw_3x_coco.py

解释:执行tools下train.py文件——传入configs\swin\mask_rcnn_swin_tiny_patch4_window7_mstrain_480-800_adamw_3x_coco.py 这个参数(这个参数就是我们要使用的网络)

四、训练过程结果

  1. 每50个打印一次日志信息,后边有学习率和loss信息在这里插入图片描述
  2. 最后生成结果,会在项目根目录下生成work_dirs文件夹
    在这里插入图片描述
    在这里插入图片描述
    log:保存训练时终端打印的日志
    epoch.pth:我们得到的权重文件
    lastest.pth:最新保存的权重文件
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

swin-transformer训练自己的数据集<自留> 的相关文章

随机推荐

  • vivo 2020届校招在线编程笔试

    题目 运矿车 小v最近在玩一款挖矿的游戏 该游戏介绍如下 1 每次可以挖到多个矿石 每个矿石的重量都不一样 挖矿结束后需要通过一款平衡矿车运送下山 2 平衡矿车有左右2个车厢 中间只有1个车轮沿着导轨滑到山下 且矿车只有在2个车厢重量完全相
  • java实现输出1--100之间的质数

    输出1 100之间的质数 大于1 只能被1和本身整除的 再没有其他因数的数 迭代1 100 每个数都被小于它的数取余一遍 如果有一个为0 则跳出本次循环 都不为0则输出 public static void main String args
  • 学习笔记——Windows CMD设置为UTF-8编码

    Windows CMD设置为UTF 8编码 windows下的cmd的默认编码是GBK编码 有时可能造成乱码问题 下面是我找到的两种更换编码方式为UTF 8的方法 1 临时修改 1 先进入cmd命令窗口 快捷键win键 R 2 直接输入 c
  • LogStash 启动报错

    报错信息如下 exception gt LogStash ConfigLoadingError message gt The following config files contains non ascii characters but
  • Ubuntu搭建Nginx服务器

    Ubuntu搭建Nginx服务器 安装Nginx 配置文件 全局配置文件 子配置文件管理 sites availables和sites enabled default配置文件 启动 停止 重启Nginx 启动 停止 重启 查询 其他设置 自
  • macbookpro接口叫什么_【科普】什么是雷电接口?苹果电脑MACBOOK PRO有吗?

    刚接触笔记本的朋友不知道USB C口是什么 也不知道雷电接口 Thunderbolt 是什么 只知道MACBOOK PRO有雷电3接口 简单来说 雷电接口是USB TYPE C的替代模式 在此了解 什么是USB TYPE C 什么是雷电接口
  • 二叉树前中后层序遍历,迭代实现

    文章目录 前序遍历 代码 Python 代码 C 中序遍历 代码 Python 代码 C 后序遍历 代码 C 后序遍历 进阶写法 代码 Python 代码 C 层序遍历 代码 Python 代码 C 总结 上一篇文章介绍了二叉树的几种遍历方
  • 简历被pass,笔试被淘汰,还有什么办法能直通面试?

    互联网是目前的热门行业 越来越多的年轻人也是一心想要往上扑 1 互联网行业处于成长期 科技行业扶持力度大 未来整个行业的上升空间巨大 我们都知道 两个人同时出发 搭乘巨轮比乘坐小船更容易走的更快更远 互联网行业就是那搜巨轮 借力使力 越早上
  • C++数据结构X篇_09_C++实现队列的顺序存储与链式存储

    本篇参考C 实现队列的顺序存储与链式存储整理 先搞懂结构框架 后期根据视频利用c对内容实现 也可以对c有更高的提升 文章目录 1 顺序存储 2 链式存储 队列是一种特殊的数据存储结构 与栈不同的是其数据存储与访问顺序为先进先出 形式如下 下
  • linux 块设备 dm,[CentOS7]dm块设备删除

    报错 root node 3 dev lsblk lsblk dm 3 获取设备路径失败 lsblk dm 3 获取设备路径失败 查看映射信息并删除 root node 3 dev dmsetup ls ceph adb6548e 8602
  • 读取resource根目录下的配置文件---标准

    读取配置文件 fileName conf json public String getConf String fileName String content try jsonFile ResourceUtils getFile classp
  • 快速排序-递归与分治

    include
  • 服务器虚拟化和桌面虚拟化

    服务器虚拟化和桌面虚拟化依托的都是KVM架构 两者的底层的东西是一样的 只不过是人为的将这个底层系统二次开发成不同的系统版本 有些功能做了限制 有些做了优化 这样的好处是 不同的场景可以使用不同的虚拟化系统 更好的满足客户的需求和发挥不同系
  • 织梦搜索时因关键词标红而导致页面样式错乱的解决方法

    使用织梦默认的搜索功能时 发现搜索某一关键词时 搜索展示页面样式错乱了 经过排查 确定是关键词标红引起的 出现此问题的原因 织梦搜索页面会将搜索关键词进行标红 字体颜色改为红色 处理 在代码中体现出来就是将关键词文字替换为套上font标签的
  • 对华为路由器配置DHCP实现IP地址的自动分配

    目录 0 题目 1 首先按照题意建立如下拓扑图 并划分子网 2 为路由器AR1进行基础设置 1 将系统名称改为r1 2 设置超时时长为0 永不超时 3 为路由器AR1两个接口配置IP地址 1 GE 0 0 0 2 GE 0 0 1 3 检查
  • 处理不同的请求--设置content-type

    content type的作用 在http协议中 content type用来告诉对方本次传输的数据的类型是什么 在请求头中设置content type来告诉服务器 本次请求携带的数据是什么类型的 在响应头中设置content type来告
  • 写在28岁,回看3年前的自己,庆幸当时入了软件测试这行

    为什么会学习软件测试 已经28岁了 算一下快过去3年了 刚毕业那会工作了一年 因为自己当时很迷茫 觉得自己挺废的 所以就没去工作就一直在家 家里固定每个月给点生活费 但还是没钱 但家里给了我一套房子 出门300米左右就是地铁站 自己一个人住
  • Java框架--Spring(轻量级容器框架)(入门+ioc)

    目录 一 概念 海绵hong对于ioc的理解 二 spring快速入门 1 最基本的spring实例 1 1javabean类 1 2beans xml 1 3 ioc容器使用 2 spring 容器结构 机制 2 1beanDefinit
  • kmalloc使用相关

    Kmalloc内存分配和malloc相似 除非被阻塞否则他执行的速度非常快 而且不对获得空间清零 Flags参数 include
  • swin-transformer训练自己的数据集<自留>

    使用swin transformer训练自己的数据集 lt 自留 gt 前期准备 数据处理 标注数据集 一 结构目录 二 要修改的地方 三 开始训练 四 训练过程结果 前期准备 数据处理 标注数据集 LabelMe gt COCO Labe