【Detectron2】入门05 Schedules Faster R-CNN

2023-11-09

Detectron2的Learning Rate和Schedules

1x and 3x schedules

1x = 16 images / iterations * 90,000 iterations in total with the LR reduced at 60k and 80k
3x = 16 images / iteration * 270,000 iterations in total with the LR reduced at 210k and 250k

在60k和80k迭代衰减*0.1,在90k次迭代终止。

cfg.SOLVER.BASE_LR = 0.001
cfg.SOLVER.STEPS = (300, 400)
cfg.SOLVER.MAX_ITER = 500

设置最大迭代次数为500次,前面300次按照线性增长,增长到BASE_LR,然后在300,400分别下降

因此,如果改小BatchSize,应该对应的修改上述参数。

 

Detectron2中的Faster RCNN

分为两个版本,C4的backbone是ResNet的Conv_1到Conv_4,而FPN则是FPN,其本质上是MaskRCNN如下图所示:

C4的整体框架如下图:

C4的ROI_HEAD是接ResNet的Conv_5,然后通过AveragePooling得到2048维特征,送入class和box分支。

FPN的ROI_HEAD是直接Flatten然后通过两个全连接层来embedding为1024维,然后再接class和box分支。

对应到Detectron2中:

C4的ROI_HEADS在Res5ROIHeads,而FPN的ROI_HEADS则在box_head.py的FastRCNNConvFCHead。两者共用fast_rcnn.py中的FastRCNNOutputLayers进行最后的分类和bbox回归。

 

Detectron2中的冻结参数进行训练

冻结除roi_heads.box_preditor之外的所有参数进行训练。

from tools.train_net import Trainer

trainer = Trainer(cfg)
model = trainer.model
layer = 'roi_heads.box_predictor'
for name, value in model.named_parameters():
    if layer not in name:
        value.requires_grad = False
trainer.resume_or_load(resume = False)
trainer.train()

 

# 考虑将VC RCNN改为目标检测模型,尝试。

def Causal(x):
    length = x.size(0)
    dic_z = self.dic.cuda()
    prior = self.prior.cuda()
    embeded_prior = prior.unsqueeze(0).repeat(length, 1)
    attention = torch.mm(x, dic_z.t()) / (1024 ** 0.5)
    attention = F.softmax(attention, 0)
    
    attention = torch.mm(attention, dic_z)
    attention = self.attention(attention)
    attention = F.softmax(attention, 0)
    
    xz = attention * x
    xz = self.attention_relu(xz)

    return xz

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【Detectron2】入门05 Schedules Faster R-CNN 的相关文章

  • mac kafka安装

    1 安装 brew install kafka kafka依赖于zookeeer 所以使用homebrew安装kafka 集群时 zookeeper也会被安装 2 zookeeper和kafka启动 重启 关闭 zookeeper后台启动
  • initialize specified but the data directory has files in it. Aborting 错误解决

    最近学习配置mysql 1 先按百度的文章https jingyan baidu com article f3ad7d0ffc061a09c3345bf0 html 做好基础工作 但是在执行 net start mysql 时 失败了 提示
  • 油猴脚本(Tampermonkey)的获取与简单使用

    油猴脚本的使用 什么是油猴脚本 油猴 可以通过安装各类脚本对网站进行定制 当然伟大的脚本面向的是所有上网者 所以借由各位大神的脚本我们能实现更多更强大的功能 例如 直接下载百度网盘文件 全速 重新定制繁杂的微博页面 去掉视频播放广告 甚至播
  • python爬取WHO全球疫情数据

    python讨论qq群 996113038 导语 以武汉为中心的全国保卫战已经基本胜利 而国外的疫情发展开始愈演愈烈 很多小伙伴想要了解全球的疫情数据 所以这次我们来爬取一下世卫组织官网上的疫情pdf 以及几个主要国家从1月22到现在的数据

随机推荐

  • Servlet 详细教程 + 案例

    Servlet 方法介绍 Servlet urlPattern 配置 IDEA 模板创建 Servlet 中文乱码问题 POST 乱码 GET 乱码 路径问题 Response 响应字符数据 Response 响应字节数据 用户登录案例 准
  • 【高频】前端面试算法题,案例+答案,一学就会!

    目录 前言 题目 1 反转字符串 2 判断回文字符串 3 数组去重 4 找出最大值和最小值 5 斐波那契数列 6 查找缺失的数字 7 判断两个字符串是否是字母异位词 8 实现数组扁平化 9 实现字符串压缩 10 判断是否为无序数组中的连续数
  • 多模态系列论文--ALBEF 详细解析

    ALBEF来自于Align before Fuse 作者团队全自来自于Salesforce Research 论文地址 Align before Fuse Vision and Language Representation Learnin
  • C++string类的c_str()函数

    标准库的string类提供了3个成员函数来从一个string得到c类型的字符数组 c str data copy p n 1 c str 生成一个const char 指针 指向以空字符终止的数组 注 这个数组的数据是临时的 当有一个改变这
  • 诺基亚发布NetAct云网络管理系统,为5G网络演进铺路

    诺基亚近日发布了NetAct网络管理系统 NMS 的云版本 NetAct云将能够满足5G网络巨大的数据处理需求 并开始向跨硬件 hardware agnostic 部署场景发展 在运营商计划发展5G的进程中 除了提供全面自动化移动网络控制外
  • Linux安装negix

    本文章介绍了在CentOS7 9 64位系统下 安装neginx 1 20 2版本 注意红色字体都是我踩的坑 目录 第一步 下载negix和安装依赖 第二步 解压安装 第三步 执行配置命令 第四步 编译和安装 第五步 启动nginx 第六步
  • security与cas的集成(serviceProperties中的sendRenew的设置)

    在spring于security的集成中 serviceProperties的配置如下
  • File类的知识1

    File类 递归 java io File 类是文件和目录路径名的抽象表示 主要用于文件和目录的创建 查找和删除等操作 java io File类 文件和目录路径名的抽象表示形式 java把电脑中的文件和文件夹 目录 封装为了一个File类
  • python数据可视化毕业设计题目_基于Python的数据可视化

    基于 Python 的数据可视化 杨凯利 1 山美娟 2 期刊名称 现代信息科技 年 卷 期 2019 000 005 摘要 在大数据快速发展的今天 Python 丰富的工具包在科学计算 文件处 理 数据可视化等领域越来越凸显其价值 能够发
  • UWB信号对服务器有没有干扰,UWB组网定位的系统及方法技术方案

    技术实现步骤摘要 本专利技术涉及一种UWB组网定位的系统 更具体地 涉及一种UWB组网定位的系统及方法 技术介绍 UWB UltraWideband 是一种无载波通信技术 利用纳秒至微微秒级的非正弦波窄脉冲传输数据 通过在较宽的频谱上传送极
  • DEDECMS调用指定ID文章内容

    备忘自用 dede arclist idlist 113 114 115 116 channelid 1 addfields body li a href div class show h2 field shorttitle h2 p fi
  • 【华为OD】 最佳对手_贪心思维

    目录 一 题目描述 二 输入描述 三 输出描述 3 1 用例 四 题目解析 五 Java玩法 六 JavaScript玩法 一 题目描述 游戏里面 队伍通过匹配实力相近的对手进行对战 但是如果匹配的队伍实力相差太大 对于双方游戏体验都不会太
  • 1330. 翻转子数组得到最大的数组值

    贪心法 1 翻转中间 则使用 最小区间最大值 最大区间最小值 2 基准为数组值 这里不一定为正收益 2 翻转头或者尾 则位基准重新计算翻转点 基准 sum abs num i num i 1 1 lt i
  • 一阶系统的时域和频域分析

    文章目录 1 一阶系统传递函数的标准形式 2 一阶系统动态性能指标 2 1 时域响应下的性能指标 2 2 系统单位阶跃响应 2 2 其他典型输入下一阶系统的响应和动态性能 3 惯性环节 4 一阶系统的频域分析 1 一阶系统传递函数的标准形式
  • yaml for java_java操作yaml文件

    前言 YAML YAML Ain t Markup Language 也可以叫做YML 是一种人性化的数据序列化的语言 类似于XML JSON SpringBoot的配置文件就支持yaml文件 官网 语法 大小写敏感 使用缩进表示层级关系
  • 快速上手笔记,PyTorch模型训练实用教程(附代码)

    前言 自 2017 年 1 月 PyTorch 推出以来 其热度持续上升 一度有赶超 TensorFlow 的趋势 PyTorch 能在短时间内被众多研究人员和工程师接受并推崇是因为其有着
  • JAVA程序员预备知识&初识JAVA

    JAVA程序员预备知识 什么是计算机 能够按照程序运行 自动 高速处理海量数据的现代化智能电子设备 由硬件和软件组成 广泛应用在 科学计算 数据处理 自动控制 人工智能等 计算机硬件 一些物理装置按系统结构的要求构成一个有机整体 组成 CP
  • Linux 快捷键

    Linux 快捷键 文章目录 linux控制台快捷键 linux控制台快捷键 ctrl a e Ctrl Shift n 新终端 Shift Ctrl T 打开新的标签页 Shift Ctrl W 关闭标签页 Alt 数字 切换至对应的标签
  • Hive--HiveQL:查询

    4 查询 4 1 select from语句 4 1 1 基本操作 select是SQL的射影算子 from子句标识了从哪个表 视图或嵌套查询中选择记录 回顾之前创建的employees表 hive mydb gt create table
  • 【Detectron2】入门05 Schedules Faster R-CNN

    Detectron2的Learning Rate和Schedules 1x and 3x schedules 1x 16 images iterations 90 000 iterations in total with the LR re