InternImage segmentation部分代码复现及训练自己的数据集(一)

这篇具有很好参考价值的文章主要介绍了InternImage segmentation部分代码复现及训练自己的数据集(一)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

所谓“复现”,不过是跑通了官方的代码,以下仅为个人的一些经验和理解,欢迎指正。

(其实仅作为个人学习使用,也欢迎交流)

首先贴出官方文献和代码:

官方文献:InternImage: Exploring Large-Scale Vision Foundation Models with Deformable Convolutions,链接:InternImage: Exploring Large-Scale Vision Foundation Models with Deformable Convolutions | Papers With Code官方Github代码:GitHub - OpenGVLab/InternImage: [CVPR 2023 Highlight] InternImage: Exploring Large-Scale Vision Foundation Models with Deformable Convolutions

一、代码复现

1、配置信息

        Linux系统Ubuntu 9.4.0(在Windows上跑会出现各种各样的问题,主要是包不兼容的问题),4卡,Cuda 11.1。

2、环境配置

        下载了官方代码解压,得到以下文件:

InternImage segmentation部分代码复现及训练自己的数据集(一),InternImage复现,深度学习,人工智能,python

        进入   ./segmentation 文件夹下,用Notepad++软件打开README.md文件,跟据上面的内容配置环境。

3、数据集准备

        ADE20K数据集下载:

        官网下载:ADE20K dataset (mit.edu),这里的训练测试只用到 ADEChallengeData2016 数据集(MIT Scene Parsing Challenge 2016)就可以了。这里再附上百度网盘下载链接:链接:https://pan.baidu.com/s/1VWVzoeIgzDbFgo_RXcQ_Mw?pwd=mv4j 提取码:mv4j

        关于数据集的介绍请看官网,下面的训练和测试都是基于ADEChallengeData2016进行。

4、测试(test.py部分)

        将数据集上传到Linux系统,官方代码默认读取路径是 ./segmentation/data/ADEChallenge Data2016/... ,如果不想改代码的话,就在 ./segmentation 文件夹下新建一个 data 文件夹,然后把ADEChallengeData2016数据集加载到data文件夹下。数据集组织格式如下(官方代码默认):

---------------
    |
    |--ADEChallengeData2016
         |
         |--annotations
         |    |
         |    |--training
         |    |    |
         |    |    |--ADE_train_00000001.png
         |    |    |--ADE_train_00000002.png
         |    |    |--……
         |    |    
         |    |--validation
         |    |    |
         |    |    |--ADE_val_00000001.png
         |    |    |--ADE_val_00000002.png
         |    |    |--……
         |    
         |--images
         |    |
         |    |--training
         |    |    |
         |    |    |--ADE_train_00000001.png
         |    |    |--ADE_train_00000002.png
         |    |    |--……
         |    |    
         |    |--validation
         |    |    |
         |    |    |--ADE_val_00000001.png
         |    |    |--ADE_val_00000002.png
         |    |    |--……
         |    |

        若数据集放于其它路径下,则需要通过修改代码来进行数据集的读取,这里有两种解决办法:

        方法一:修改test.py文件代码。

        找到读取数据集的代码行:

dataset = build_dataset(cfg.data.test)   #建立数据集

        在该代码行前一行添加代码:

cfg.data.test['data_root'] = 'E:/data/ADE20K/ADEChallengeData2016'   #通过这个命令行改变测试集的位置,添加你的测试集路径
dataset = build_dataset(cfg.data.test)   #建立数据集

        这样修改之后,代码就会跟据你指明的路径读取数据,数据集的组织形式依旧如上面代码块所示。若更改组织形式,则需要指明图片所在路径和标注文件所在路径,如下面代码所示:

cfg.data.test['data_root'] = 'E:/data/ADE20K/ADEChallengeData2016'   #通过这个命令行改变测试集的位置,添加你的测试集路径
cfg.data.test['img_dir'] = 'val/Images'  #指向图片文件的路径,图片文件的完整路径为:cfg.data.test['data_root'] + cfg.data.test['img_dir']
cfg.data.test['ann_dir'] = 'val/Masks'  #指向标注文件的路径,标注文件的完整路径为:cfg.data.test['data_root'] + cfg.data.test['ann_dir']

dataset = build_dataset(cfg.data.test)   #建立数据集

       

        方法二:通过修改数据读取的底层文件实现,参考:(64条消息) mmsegmentation教程1:自定义数据集、config文件修改、训练教程_AESA相控阵的博客-CSDN博客

        模型参数(.pth文件)下载:GitHub - OpenGVLab/InternImage: [CVPR 2023 Highlight] InternImage: Exploring Large-Scale Vision Foundation Models with Deformable Convolutions

        跟据你的模型需要,下载ckpt的链接文件并保存到你的文件中(即下文代码的[your_wei ght_path])。

InternImage segmentation部分代码复现及训练自己的数据集(一),InternImage复现,深度学习,人工智能,python

        做到以上准备之后,运行以下代码就可以查看模型在ADE20K数据集上的测试结果:

python test.py configs/ade20k/upernet_internimage_t_512_160k_ade20k.py [your_weight_path]/upernet_internimage_t_512_160k_ade20k.pth --eval mIoU

5、训练(train.py部分)

        与第4部分类似,需要准备数据集修改数据读取代码,模型训练不需要下载模型参数文件。准备好数据集和修改数据读取代码之后,运行以下代码(README.md)。

sh dist_train.sh configs/ade20k/upernet_internimage_t_512_160k_ade20k.py 8

        可能会出现报错,原因是 sh 命令被版本舍弃了(具体原因自己网上搜索)?将 sh 命令换为 bash 命令就可以了,即:

bash dist_train.sh configs/ade20k/upernet_internimage_t_512_160k_ade20k.py 8

        文章来源地址https://www.toymoban.com/news/detail-624663.html

到了这里,关于InternImage segmentation部分代码复现及训练自己的数据集(一)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Segment Anything Model(SAM)模型解读及代码复现

    Segment Anything Model论文 Segment Anything Model官网 Segment Anything Model官网demo网页端 Segment Anything Model模型源码 SAM应用:生成包含语义信息的遥感图像分割结果 We introduce the Segment Anything (SA) project: a new task, model, and dataset for image segmentation. Using our efficient model in a data collection loop, we bu

    2024年02月06日
    浏览(36)
  • TransUnet官方代码测试自己的数据集(已训练完毕)

    首先参考上一篇的训练过程,这是测试过程,需要用到训练过程的权重。 1. TransUnet训练完毕之后,会生成权重文件(默认保存位置如下),snapshot_path为保存权重的路径。 权重文件 2. 修改test.py文件 调整数据集路径。 训练和测试时的图像设置相同大小,并设置主干模型的名称

    2024年02月01日
    浏览(34)
  • 【swinUnet官方代码测试自己的数据集(已训练完毕)】

    首先参考上一篇的训练过程,因为测试需要用到训练获得的权重。 1、检查相关文件 1.1 检查test_vol.txt的内容是否是测试用的npz文件名称 测试集的npz文件 1.2 检查模型权重文件 2、修改部分代码 2.1 修改dataset_synapse.py 2.2 修改test.py代码 修改相关参数和文件路径 is_savenii:是否保

    2024年02月02日
    浏览(61)
  • yolov8代码梳理 训练自己的数据 最终版

    最开始为了检测不规则的麻包袋,所以采用了目标检测。yolov3,fasterrcnn,ssd。这种矩形框还是可以用。后面检测的物体变成了规则的纸箱,我们还用目标检测发现,没有旋转角度,因为箱子的摆放不是正的。只能通过opencv的minarea去找到最小矩形框去寻找角度。但是opencv的方

    2024年02月12日
    浏览(33)
  • 【自用】SAM模型论文笔记与复现代码(segment-anything-model)

    一个 prompt encoder ,对提示进行编码, image encoder 对图像编码,生成embedding, 最后融合2个 encoder ,再接一个轻量的 mask decoder ,输出最后的mask。 模型结构示意图: 流程图: 模型的结构如上图所示. prompt会经过 prompt encoder , 图像会经过 image encoder 。然后将两部分embedding经过一个

    2024年01月24日
    浏览(32)
  • Learning to Segment Rigid Motions from Two Frames 代码复现

    https://github.com/gengshan-y/rigidmask 1.拉取代码 2.创建conda环境,修改rigidmask.yml DCNv2和ngransac 1.下载数据集和模型 KITTI-SF: https://s3.eu-central-1.amazonaws.com/avg-kitti/data_scene_flow.zip Sintel rigidity map : http://files.is.tue.mpg.de/jwulff/mrflow/sintel_rigiditymaps.zip 2.测试一下

    2024年02月06日
    浏览(30)
  • TransUnet官方代码训练自己数据集(彩色RGB3通道图像的分割)

    官方代码:https://github.com/Beckschen/TransUNet 目的:训练5个类别的汽车部件分割任务(测试在另一篇博客中) CSDN数据集免费下载 实现效果: 1. github下载代码,并解压。 项目里的文件可能跟你下载的不一样,不急后面会讲到! 2. 配置数据集(尽最大努力还原官方数据集的格式)

    2024年02月04日
    浏览(31)
  • 手写数学公式识别领域最新论文CAN代码梳理,以及用自己的数据集训练

    Counting-Aware Network(CAN)-手写数学公式识别网络是好未来与白翔团队一起发布的一篇2022年的被ECCV收录的论文,该论文旨在缓解目前大部分基于注意力机制的手写数学公式识别算法在处理较长或者空间结构较复杂的数学公式时,容易出现的注意力不准确的情况。该论文通过将符号

    2024年02月07日
    浏览(24)
  • U2Net、U2NetP分割模型训练---自定义dataset、训练代码训练自己的数据集

    前言 博客很久没有更新了,今天就来更新一篇博客吧,哈哈; 最近在做图像分割相关的任务,因此,写这么一篇博客来简单实现一下分割是怎么做的,内容简单,枯燥,需要耐心看,哈哈; 博客的内容相对简单,比较适合刚接触分割的同学参考学习(这篇博客在算法训练上

    2024年02月05日
    浏览(26)
  • PointNet系列代码复现详解(1)—PointNet分类部分

    想尽快入门点云,因此就从这个经典的点云处理神经网络开始。源码已经有了中文注释,但在一些对于自己不理解的地方添加了一些注释。欢迎大家一起讨论。 代码是来自github:GitHub - yanx27/Pointnet_Pointnet2_pytorch: PointNet and PointNet++ implemented by pytorch (pure python) and on ModelNet, Sha

    2024年02月08日
    浏览(31)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包