![](https://img-blog.csdnimg.cn/20190918140213434.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
撸探究faster-rcnn源代码
作为源代码理解中的各个知识点
优惠券已抵扣
余额抵扣
还需支付
¥29.90
¥99.00
购买须知?
本专栏为图文内容,最终完结不会低于15篇文章。
订阅专栏,享有专栏所有文章阅读权限。
本专栏为虚拟商品,基于网络商品和虚拟商品的性质和特征,专栏一经购买无正当理由不予退款,不支持升级,敬请谅解。
橙黄橘绿时_Eden
在读硕士
展开
-
捋一捋pytorch官方的FasterRCNN代码
原文:https://zhuanlan.zhihu.com/p/145842317参考:http://t.csdn.cn/idjzU。原创 2022-08-29 13:45:13 · 653 阅读 · 0 评论 -
class MultiScaleRoIAlign(nn.Module):
知识补充:【1.1.2 FPN结构详解】 https://www.bilibili.com/video/BV1dh411U7D9?首先计算每个 feature_map 相对于网络输入 image 的下采样倍率 scale。levelmap函数用于FPN生成的propoals/RoI映射回P2-P5,即映射回feature map。...原创 2022-08-29 13:42:40 · 706 阅读 · 0 评论 -
Python __call__()方法(详解版
原文:http://c.biancheng.net/view/2380.html本节再介绍 Python 类中一个非常特殊的实例方法,即()。该方法的功能类似于在类中重载 () 运算符,使得类实例对象可以像调用普通函数那样,以“对象名()”的形式使用。可以看到,通过在 CLanguage 类中实现() 方法,使的 clangs 实例对象变为了可调用对象。对于可调用对象,实际上“名称()”可以理解为是“名称.()”的简写。运行程序会发现,其运行结果和之前完全相同。...原创 2022-08-29 12:35:36 · 284 阅读 · 0 评论 -
python中的类型提示(定义函数时加入箭头->)
就算你静态限定了int,输入为float的时候也不会报错,输出也不会变成期待的int类型。其实就是变量类型的动态定义和静态定义的区别。同样一个函数可以不加->表示动态定义和加->表示静态定义。对于上面左边函数,对n的数据类型不一定为int,也可以为float等等。官方网站:https://www.python.org/dev/peps/pep-0484/偶尔看到一些代码在定义函数时,在def那一行后面会加一个->。这个玩意儿有个专门的名词叫 type hint, 即类型提示。上面代码期待的类型为int。..原创 2022-08-26 21:18:07 · 866 阅读 · 0 评论 -
rpn:def concat_box_prediction_layers
代码】rpn:def concat_box_prediction_layers。原创 2022-08-08 14:25:56 · 131 阅读 · 0 评论 -
class AnchorGenerator:def generate_anchors测试
首先对于初始化来讲self.cell_anchors,遍历zip(sizes, aspect_ratios),传入generate_anchors中,对于generate_anchors来讲,其得到的参数实际为size=(128, 256, 512),aspect_ratio=(0.5, 1.0, 2.0)。第一次传入(32,)和(0.5, 1.0, 2.0),)生成前三个。遍历一圈,生成15个。此时对每一个位置来讲共生成。......原创 2022-08-05 15:51:06 · 130 阅读 · 0 评论 -
def fasterrcnn_resnet50_fpn()实例测试
推测没有预测框的原因是数据是随机生成的。原创 2022-07-28 22:46:34 · 407 阅读 · 0 评论 -
python子类继承父类构造函数
二子类不需要自动调用父类的方法子类重写__init__()方法,实例化子类后,将不会自动调用父类的__init__()的方法。一子类调用父类的方法子类不重写__init__()方法,实例化子类后,会自动调用父类的__init__()的方法。三子类重写__init__()方法又需要调用父类的方法使用super关键词。...原创 2022-07-28 19:46:36 · 1845 阅读 · 1 评论 -
FasterRCNN示例代码测试1:令anchor_generator = None
32,),(64,),(128,),(256,),(512,)分别代表五个feature_map上取值大小;一般情况可用自己设置的anchor_generator,也可以系统默认的,参考fast-rcnn源码。推测默认的def_default_anchorgen(),这个是FPN的,多尺度生成。还没看锚框生成,暂定。但是我使用默认的,就发生了报错。...原创 2022-07-22 11:11:27 · 164 阅读 · 0 评论 -
类的属性新建(初级理解)
代码】类的属性新建(初级理解)原创 2022-07-22 09:42:55 · 120 阅读 · 0 评论 -
GeneralizedRCNN:features = OrderedDict([(“0“, features)])
代码】features=self.backbone(images.tensors)原创 2022-07-21 10:08:31 · 161 阅读 · 0 评论 -
Check for degenerate boxes检查退化框
判断boxes的二维后两个数是否小于二维前两个数,若存在,返回true(这里跟所解决的代码问题不一样,所要解决应该是返回box,不是true?enumerate()函数用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般用在for循环当中。any()函数用于判断给定的可迭代参数iterable是否全部为False,则返回False,如果有一个为True,则返回True。它是位置对应验证的,比如第三个跟第一个比,第四个跟第二个比。...原创 2022-07-21 09:16:05 · 114 阅读 · 0 评论 -
img.shape[-2:]/len(img.shape[-2:]):GeneralizedRCNN:original_image_sizes中的 torch._assert
shape[-2]即倒数第二维度至最后一维度,即最后两维度(-2维度,-1维度),img.shape[-2]即求出来最后两维度的样本数量,在image的tensor形式中,图片以(C,H,W)存储,故后两维度应该为(H,W),即img.shape[-2]得到(H,W)貌似没特别大的作用。len对shape来说是得到维度的数目,即一维得1,二维得2,len(img.shape)得3,len(img.shape[-2])即得2..shape[1]求1维的样本数量,不准确理解即列数;...原创 2022-07-20 20:58:23 · 1522 阅读 · 2 评论 -
装饰器解决TypeError: ‘NoneType‘ object is not callable
网上有人说去掉被装饰函数(原函数)后面的‘()’,虽然也可以让程序不报错,我却觉得这违背了装饰器的意义装饰器在不改变被装饰函数的源代码和调用方式的情况下增加新的功能,如果去掉原函数的括号那不就是改变调用方式了吗,所以不可取。参考https//blog.csdn.net/qq_41320433/article/details/104347119。callable(可调用)对象是指一个后面可以加‘()’的对象。既然报错是‘不可调用’,那就去掉调用函数的‘()’即可。......原创 2022-07-18 22:31:53 · 416 阅读 · 0 评论 -
ython中if __name__ == ‘__main__‘:的作用和原理
参考http。原创 2022-07-20 10:41:02 · 63 阅读 · 0 评论 -
Pycharm退出pytest模式(run pytest in模式)
第二步可以看到左侧Python下有两个文件夹,如果进入了test模式,就会有‘Pythontest’一栏,打开pycharm进入了test模式,具体表现为用“Run‘py.testxxx.py’”第三步选定Pythontest,这时点击上面的‘-’号去掉这栏下的文件即可。第一步点击顶部运行键——选择‘Editconfiguration’,如果上述方法,只是临时解决,过段时间又是pytest了。然后确定,再次右键代码,就可以执行run模式了。......原创 2022-07-20 11:03:12 · 4189 阅读 · 0 评论 -
Python中的*args和**kwargs
参考https在Python中的代码中经常会见到这两个词args和kwargs,前面通常还会加上一个或者两个星号。其实这只是编程人员约定的变量名字,args是arguments的缩写,表示位置参数;kwargs是keywordarguments的缩写,表示关键字参数。这其实就是Python中可变参数的两种形式,并且*args必须放在**kwargs的前面,因为位置参数在关键字参数的前面。补知识点位置参数(positional)......原创 2022-07-20 11:30:34 · 85 阅读 · 0 评论 -
Python高级语法-装饰器(Python语法糖@)
参考https。原创 2022-07-20 11:31:23 · 198 阅读 · 0 评论