目录

partial函数

map函数

multi_apply函数


先说mmdetection的multi_apply函数的作用,作用:将输入的函数func作用在Iterable每个参数上,例如:

cate_pred, kernel_pred = multi_apply(self.forward_single, new_feats,list(range(len(self.seg_num_grids))),eval=eval, upsampled_size=upsampled_size)

SOLOv2中,将split_feats()函数返回的特征图,依次使用forward_single()函数进行计算!

在理解mmdetection的multi_apply函数之前,先温故一下partial函数和map函数。

partial函数

partial(func, *args, **keywords) - new function with partial application
of the given arguments and keywords.

partial函数位于functools模块中,导入执行命令from functools import partial即可,该函数有什么作用?

简单理解,就是把一个函数的某些参数给置为默认参数,返回一个新的带有默认参数的函数!

例如:

########################################################
# 定义加法函数
def add(a,b):return a+b# 直接调用
add(1,2) # 输出 ----> 3
################################################################################################################
# 导入partial函数
from functools import partial# 设置新函数的默认参数b=2,返回新函数funcadd
funcadd = partial(add, b=2)# 调用
funcadd(1) # 输出 ----> 3
funcadd(2) # 输出 ----> 4
funcadd(3) # 输出 ----> 5
########################################################

map函数

map函数是python内建函数,其作用是,将func函数依次作用于Iterable的每个元素上,返回一个新的Iterable

map(func, *iterables) --> map object

例如:

# 定义一个自加函数
def func(x):x = x+1return x# 定义一个数组
input = (1,2,3,4)# 调用map
results = map(func, input)# map结果为Iterable的,可使用list()将结果转成序列
print(list(results))  # [2, 3, 4, 5]# print(tuple(results))  # (2, 3, 4, 5)

multi_apply函数

def multi_apply(func, *args, **kwargs):# kwargs {'eval': False, 'upsampled_size': (192, 288)} # 将参数以字典的形式传入,并使用partial函数置为新函数pfunc的默认参数pfunc = partial(func, **kwargs) if kwargs else func# 将剩余的参数传入pfunc函数中,并进行计算map_results = map(pfunc, *args)# 将上一步的计算结果使用zip打包,最终返回为tuple(list_0, ..., list_n)形式return tuple(map(list, zip(*map_results)))

调用multi_apply函数举例:

# 定义一个函数
def func(idx, eval=False):return idx, eval# 调用
result=multi_apply(func,list(range(10)), eval=False)# 输出
'''
([0, 1, 2, 3, 4, 5, 6, 7, 8, 9], [False, False, False, False, False, False, False, False, False, False])
'''

mmdetection multi_apply相关推荐

  1. MMDetection理解

    MMDetection理解 1. Model整体构建流程和思想 1.1 训练核心组件 1.1.1 Backbone 1.1.2 Neck 1.1.3 Head 1.1.4 Enhance 1.1.5 ...

  2. mmdetection学习系列(1)——SSD网络

    1. 概述 本文是本人自学mmdetection的第一篇文章,因为最近一段时间在做目标检测相关的内容,为了更好地研究领域内相关知识,特意花了不少时间熟悉mmdetection框架(https://gi ...

  3. MMDetection的FCOS算法fcos_head注释

    由于不知道如何发布代码,复制粘贴不太好看(起码我不喜欢看,哈哈),所以笔者再次便采取截图的形式. --------------------------------------------------- ...

  4. 【mmdetection源码解读(二)】RPN网络

    以下仅为个人理解,若有不正之处还请指出,欢迎交流! 在two-stage目标检测方法中,通过骨干网络获得的特征图需要送进RPN网络产生区域建议候选框,下面就结合mmdetection中的源码详细解释这 ...

  5. mmdetection

    参考: mmdetection检测训练和源码解读 源码解读 图像目标检测之cascade-rcnn实践 mmdetection添加focal loss mmdetection,训练自己的数据 训练自定 ...

  6. MMDetection的学习笔记

    学习资料 A. MMDet组件整体介绍 [博文]<轻松掌握 MMDetection 整体构建流程(一)> 系统性地介绍了MMDet中的各种组件,例如:Backbone, Neck, Hea ...

  7. 对象检测工具包mmdetection简介、安装及测试代码

    mmdetection是商汤和港中文大学联合开源的基于PyTorch的对象检测工具包,属于香港中文大学多媒体实验室open-mmlab项目的一部分.该工具包提供了已公开发表的多种流行的检测组件,通过这 ...

  8. 港中大、商汤开源目标检测工具包mmdetection,对比Detectron如何?

    近日,香港中文大学-商汤联合实验室开源了基于 PyTorch 的检测库--mmdetection.上个月,商汤和港中大组成的团队在 COCO 比赛的物体检测(Detection)项目中夺得冠军,而 m ...

  9. MMDetection V2.0发布!速度精度全面提升,现有检测框架最优

    本文授权转自知乎作者陈恺,https://zhuanlan.zhihu.com/p/145084667.未经作者许可,不得二次转载. MMDetection V1.0 版本发布以来,我们收到了很多用户 ...

最新文章

  1. 重磅~ 深度学习中的图像分割:方法和应用
  2. python3入门到精通pdf-Python3入门到精通实战特训
  3. BGP community
  4. Redis RDB、AOF持久化详解
  5. 获得本机IP和访问服务的端口号(Java)
  6. CPU缓存一致性协议MESI
  7. Javascript详解
  8. 介绍Flex UI测试工具:FlexMonkey
  9. eoe android Studio 安装使用教程
  10. ffmpeg java_Java 调用 FFMPEG 的坑人之处
  11. 使用Altium Designer软件如何导入3D模型 方法三 —— 自己用Altium Designer软件建立简单的模型
  12. 台式计算机性能与种类,最新台式机处理器性能排行榜
  13. ks 曲线_ROC曲线与KS曲线的理解
  14. String类常用方法解析
  15. python做的游戏怎么导到微信_微信跳一跳游戏的脚本-scratch导出到微信-微信小程序是怎么做的...
  16. 制作Windows PE启动镜像命令
  17. matlab画红色爱心(心形图)
  18. 双屏显示 鼠标不能从左侧滑入右侧竖屏
  19. 【gradle Composing builds】gradle依赖管理Composing builds之杂症-快速同步
  20. linux常用bash命令介绍

热门文章

  1. 电脑内存突然爆满的可能解决方法
  2. 如何弄ad装配图_如何由零件图画出装配图
  3. 「Python ​正则」使用专题总结
  4. WebOptimizer-ASP.NET Core的捆绑器和压缩器
  5. 冒险岛数据封包分网站源程序析
  6. 管家婆辉煌版密码遗忘处理
  7. 笔试:深圳中博(2023.2.7)两道算法题 <未通过>
  8. 【BFS】魔板(c++基础算法)
  9. 我用Pocket pc开发一个播放器,可以播放mp3就可以。
  10. 写给曾经的自己现在的自己和未来的自己