目录

1.一步一步跑通自己的额数据

2.遇到的报错

2.1 fastreid The size of tensor a (3) must match the size of tensor b (4) at non-singleton dimension 0


1.一步一步跑通自己的额数据

上一篇介绍了怎样搭建FastReID的环境和FastReID的一些报错处理,接下来介绍一步一步的跑通自己的数据;

首先进入configs目录,新建了一个文件夹,命名为‘suitcase’,然后加入‘AGW_R50.yml’;

AGW_R50.yml的内容如下:

_BASE_: ../Base-AGW.ymlDATASETS:NAMES: ("IDLabeling_machine",)TESTS: ("IDLabeling_machine300",)OUTPUT_DIR: logs/Labeling_machine/agw_R50

然后进入‘Base-AGW.yml’中修改参数设置:

_BASE_: Base-bagtricks.yml #Base-AGW的上一级配置文件MODEL:BACKBONE:WITH_NL: True #模型是否使用No_local moduleHEADS:POOL_LAYER: GeneralizedMeanPooling # HEAD POOL_LAYERSLOSSES:NAME: ("CrossEntropyLoss", "TripletLoss") #使用lossCE:EPSILON: 0.1  #CrossEntropyLoss 超参SCALE: 1.0TRI:MARGIN: 0.3 #0.0        #TripletLoss 超参数HARD_MINING: True #FalseSCALE: 1.0

进入'Base-bagtricks.yml'中修改参数:

MODEL:META_ARCHITECTURE: BaselineBACKBONE:NAME: build_resnet_backboneNORM: BN                        #模型NORM 如果是多卡需要设置syncBN 多卡同步BNDEPTH: 50xLAST_STRIDE: 1FEAT_DIM: 2048                  #输出特征维度WITH_IBN: True #FalsePRETRAIN: TruePRETRAIN_PATH: './model/weihai-suitcase-reid/20211203-3/model/resnest50_1203.pth'HEADS:NAME: EmbeddingHeadNORM: BN                #模型NORM 如果是多卡需要设置syncBN 多卡同步BNWITH_BNNECK: TruePOOL_LAYER: GeneralizedMeanPooling #GlobalAvgPoolNECK_FEAT: beforeCLS_LAYER: LinearLOSSES:NAME: ("CrossEntropyLoss", "TripletLoss",)CE:EPSILON: 0.1SCALE: 1.TRI:MARGIN: 0.3HARD_MINING: TrueNORM_FEAT: FalseSCALE: 1.INPUT:SIZE_TRAIN: [ 256, 256 ] #[ 256, 128 ]SIZE_TEST: [ 256, 256 ] #[ 256, 128 ]REA:ENABLED: TruePROB: 0.5FLIP:ENABLED: TruePADDING:ENABLED: TrueDATALOADER:SAMPLER_TRAIN: NaiveIdentitySamplerNUM_INSTANCE: 4NUM_WORKERS: 8SOLVER:AMP:ENABLED: TrueOPT: AdamMAX_EPOCH: 200 #120BASE_LR: 0.0005 #0.00035WEIGHT_DECAY: 0.0005WEIGHT_DECAY_NORM: 0.0005IMS_PER_BATCH: 128 #64               #设置batch sizeSCHED: CosineAnnealingLR #MultiStepLRSTEPS: [ 40, 90 ]GAMMA: 0.1WARMUP_FACTOR: 0.1WARMUP_ITERS: 2000CHECKPOINT_PERIOD: 30TEST:EVAL_PERIOD: 30IMS_PER_BATCH: 256 #128CUDNN_BENCHMARK: True

其中目前包含的数据增强方式:

INPUT:SIZE_TRAIN: [ 256, 256 ] #[ 256, 128 ]SIZE_TEST: [ 256, 256 ] #[ 256, 128 ]REA:ENABLED: TruePROB: 0.5FLIP:ENABLED: TrueCROP:ENABLED: TrueAFFINE:ENABLED: TrueAUTOAUG:ENABLED: TruePROB: 0.2CJ:ENABLED: TruePROB:0.5#  AUGMIX:
#    ENABLED: False
#      PROB: 0.2#  RPT:
#    ENABLED: False
#      PROB: 0.2#  PADDING:
#    ENABLED: False

然后加入自己的数据处理代码:

同时在__init__.py中加入函数类,方便调用:

from .suitcase import IDLabeling_machine, IDLabeling_machine300

其中‘suitcase.py’代码中加入函数类:

这里的具体代码可以参考同一级目录下的数据处理代码来编码;

2.遇到的报错

2.1 fastreid The size of tensor a (3) must match the size of tensor b (4) at non-singleton dimension 0

报错原因是:收集训练样本的时候混入了使用快捷键裁剪的图片(后缀有*.png);

处理方法:使用opencv读取这类图片,重新保存为后缀为*.jpg的图片;

参考:How to train Custom Dataset · Issue #220 · JDAI-CV/fast-reid · GitHub

If yes, please check that if images in your dataset had alpha channel? And then remove the alpha channel, only keep B,G,R channels.

fast-reid跑通自己的数据相关推荐

  1. 111个Python数据分析实战项目,代码已跑通,数据可下载

    写在前面: 这里整理了111个数据分析的案例,每一个都进行了严格的筛选,筛选标准如下: 1. 有干货:杜绝纯可视化.统计性分析,有一定比例的讲解性文字 2. 可跑通:所有代码均经过测试,(大概率)可以 ...

  2. 【全网唯一】全网唯一能够跑通的,跑不通你来找我~用node.js完成微信支付下单功能,且只需要一个文件wxpay.js就解决业务流程的node.js程序

    先吐为敬! 最近心血来潮研究nodejs如何完成微信支付功能,结果网上一搜索,一大堆"代码拷贝党"."留一手"."缺斤少两"."不 ...

  3. 13个月才跑通GitHub模型,机器学习科研入门太难了吧

    点击上方"视学算法",选择加"星标"或"置顶" 重磅干货,第一时间送达 金磊 萧箫 发自 凹非寺 量子位 报道 | 公众号 QbitAI & ...

  4. @卡尔曼滤波 跑通调参

    可以先像一开始接触PID那样,先把整个系统跑通,感受一下它是咋用的.后面再回过头来研究原理. 学习OpenCV2--卡尔曼滤波(KalmanFilter)详解 四旋翼姿态解算--互补滤波和拓展卡尔曼 ...

  5. ubuntu12.04+fuerte 下跑通lsd-slam——数据集

    lsd-slam(下载链接:https://github.com/tum-vision/lsd_slam)提供了两种方法,一种是用数据集(下载地址http://vision.in.tum.de/lsd ...

  6. yolov3网络结构图_目标检测——YOLO V3简介及代码注释(附github代码——已跑通)...

    GitHub: liuyuemaicha/PyTorch-YOLOv3​github.com 注:该代码fork自eriklindernoren/PyTorch-YOLOv3,该代码相比master分 ...

  7. 食品新消费的2021:站在逻辑跑通与成为品牌的隧道期

    (图片来源于网络,侵删) 文 | 易不二 来源 | 螳螂观察 "宝洁系"进攻,能催生一个食品消费界的"宝洁"? 被称为中国互联网行业的第五大人才"票仓 ...

  8. DynaSLAM跑通的辛酸之路

    DynaSLAM+MAC电脑+虚拟机+ubuntu18.04+跑通的辛酸之路 首先说一下我在做这项工作的前期之路. 在这之前我跑通过ORB-SLAM2,ORB-SLAM3,所以Pangolin,Eig ...

  9. 如何跑通第一个 SQL 作业

    简介:本文由阿里巴巴技术专家周凯波(宝牛)分享,主要介绍如何跑通第一个SQL.内容将从以下3个部分介绍:1.SQL的基本概念:2.SQL的语法说明:3.SQL 实战: 作者 | 周凯波(宝牛),阿里巴 ...

最新文章

  1. R语言嵌套方差分析(Nested ANOVA)实战
  2. 一些NLP的面试问题
  3. 页面导航的基础与深入
  4. 关于JQ的点击事件在微信手机端无响应的解决方案
  5. maven创建父项目和子项目
  6. 湖北2021高考成绩几点可以查询,2021年湖北高考成绩查询时间安排 什么时间出分...
  7. MySQL的SQL 语句:根据从表记录个数对主表排序
  8. 湖北工业大学查分_湖北工业大学成人高考低于分数线没考上怎么办?
  9. python第四章选择题_PythonCrashCourse 第四章习题
  10. shell逻辑运算符优先级_linux shell 逻辑运算符、逻辑表达式详解
  11. Android 读取U盘文件
  12. 修改图片尺寸包括两种情况
  13. python安装pip之后镜像源配置
  14. RNA 提取步骤(trizol)
  15. 画画怎么配色好看?怎样才能画好色彩搭配?
  16. 世界上什么人最重要?什么事最重要?什么时间最重要?
  17. 道可云元宇宙每日资讯|济南发布促进元宇宙产业创新发展行动计划
  18. 2023年2022年Cfa一级考纲变化分析
  19. python输出偶数_python程序使用递归查找数字是偶数还是奇数
  20. LINUX下安装中文输入法

热门文章

  1. 03-CSS文字文本样式
  2. 在服务器端运行JavaScript文件(一)
  3. 防止跨站攻击,安全过滤
  4. 使用JdbcTemplate报 Incorrect column count: expected 1, actual 9错误解决
  5. 打车APP可能的盈利模式
  6. 以太猫合约之数据合约分析(二)
  7. mysql查询18至28岁的人,MariaDB第三章(select)基本查询
  8. Angelababy代言《神魔》:不仅仅是打明星牌
  9. 【Hadoop Summit Tokyo 2016】领英:4亿会员的数据赋能之旅
  10. 中国采购行业出现W形复苏迹象