7 Kun Li

尚未进行身份认证

我要认证

github:https://github.com/leeguandong

等级
TA的排名 3k+

nms的confience阈值,iou阈值,计算map的confience阈值和iou阈值

nms去除冗余框下面是知乎上画的一组图,非常好理解。检测得到四个坐标相关值和每一个bb所对应的类别的置信度,首先选定一个confidence阈值,将低于confidence的置信度给过滤掉,其次选定每一类最高的confience所对应的的检测框,计算其余剩下检测框的iou,iou阈值以上的删除(nms去冗余,相近的框删掉),一轮之后,在选定剩下违背删掉的iou中置信度最高的,继续和剩下的检...

2019-08-03 20:13:26

Going Deeper with contectual cnn for hyspectral image classification

Going Deeper with contectual cnn for hyspectral image classificationhttps://blog.csdn.net/edogawachia/article/details/88674649

2019-05-31 11:34:11

Python 可迭代对象与迭代器的对比

可迭代对象:使用 iter 内置函数可以获取迭代器的对象,如果对象实现了能返回迭代器的 __iter__ 方法,那么对象就是可迭代的,实现了 __getitem__ 方法,而且其参数是从零开始的索引,这种对象也可以迭代。迭代器:迭代器是这样的对象:实现了无参数的 __next__ 方法,返回序列中的下一个元素,如果没有元素了,那么抛出的 StopIteration 异常。Python 中的迭代...

2019-04-22 10:38:08

Python 比较运算符

Python 中正向和反向使用的都是同一系列方法。例如,对 == 而言,正向和反向调用都是 __eq__ 方法,只是把参数对调了,而 >,<,>=,<=,正向的 __gt__ 方法调用的是反向的 __lt__ 方法,并把参数对调。对 == 和 != 来说,如果反向调用失败,Python 会比较对象的ID,而不是抛出 TypeError。如下: def __e...

2019-04-20 13:21:56

Python 重载乘法运算符

Python 中的乘法运算符就是计算标量积(scalar product),也叫元素级乘法 (elementwise multipication)如下: def __mul__(self, scalar): if isinstance(scalar, numbers.Real): return Vector(n * scalar for n ...

2019-04-20 12:42:18

Python 重载向量加法运算符 +

例子: def __add__(self, other): try: pairs = itertools.zip_longest(self, other, fillvalue=0.0) return Vector(a + b for a, b in pairs) except TypeError: ...

2019-04-20 11:59:58

Python x 和 +x 何时不相等?

每个人都觉得 x==+x,而且在 Python 中,几乎所有的情况下都是这样。但是,在 Python 的标准库中找到两例 x!=+x 的情况。第一例和 decimal.Decimal 类有关。如果 x 是 Decimal 实例,在算术运算的上下文中创建,然后在不同的上下文中计算 +x,那么 x!=+x,例如,x所在的上下文使用某个精度,而计算+x时,精度变了。import decimal...

2019-04-20 10:56:38

Python 异常处理总结

Python 文档中对异常的描述Python异常部分异常的中文描述:Python异常1.AttributeError: module 'decimal' has no attribute 'getcontext'后面发现自己定义了 decimal 这个类报错,把 demical 换个名字就可以了。...

2019-04-20 10:29:39

Python 处理多重继承

继承有很多应用,而多重继承增加了可选方法和复杂度。1. 把接口继承和实现继承区分开。使用多重继承时,一定要明确一开始为什么创建子类。可能原因有:1.继承接口,创建子类型,实现是什么的关系。2.继承实现,通过重用避免代码重复。这两条经常同时出现,但是一定要明确意图。通过继承重用代码是实现细节,通常可以换用组合和委托模式,而接口继承则是框架的支柱。2.使用抽象基类显式表示接口在 Pyt...

2019-04-20 09:34:44

Python 多重继承和方法解析顺序

任何实现多重继承的语言都要处理潜在的命名冲突,这种冲突由不相关的祖先类实现同名方法引起的,这种冲突称为‘菱形问题’。如下例子:class A: def ping(self): print('ping:', self)class B(A): def pong(self): print('pong:', self)class C(A...

2019-04-19 23:04:49

Python 中的鸭子类型(duck typing),协议和接口

得益于 Python 数据模型,自定义类型的行为可以像内置类型那样自然。实现如此自然的行为,靠的不是继承,而是鸭子类型:我们只需按照预定行为实现对象所需的方法即可。“不要检查它是不是鸭子,它的叫声像不像鸭子,它走路姿势像不像鸭子等等,具体检查什么取决于你想使用语言的哪些特性”。鸭子类型:对象的类型无关紧要,只要实现了特定的协议即可。即忽略对象真正的类型,转而关注对象有没有实现所需的方法,签名和...

2019-04-19 14:11:29

Python 定义一个完整的 vector 类

第一版:# BEGIN VECTOR_V1from array import arrayimport reprlibimport mathclass Vector: typecode = 'd' def __init__(self, components): self._components = array(self.typecode, co...

2019-04-19 12:27:44

Python reduce,sum,any,all 归约函数

归约函数:把有序或有限的可迭代对象变成一个聚合结果。关键思想是把一系列值归约成单个值。reduce( ) 函数的第一个参数就是接受两个参数的函数,第二个参数是一个可迭代的对象。加入有个接受两个参数的 fn 函数和一个 lst 列表。调用 reduce(fn,lst) 时,fn 会应用到第一对元素上,即 fn(lst[0],lst[1]),生成第一个结果 r1。然后,fn 会应用到 r1 和下...

2019-04-19 12:16:55

Python @classmethod 和 @staticmethod 装饰器

classmethod:定义操作类,而不是操作实例的方法。classmethod 改变了调用方法的方式,因此类方法的第一个参数是类本身,而不是实例,classmethod 最常见的用途是定义备选构造方法。staticmethod 装饰器也会改变方法的调用方式,但是第一个参数不是特殊的值。其实静态方法就是普通方法,只是在类的定义体里,而不是在模块层定义。class Demo: @c...

2019-04-19 09:53:47

Python 的私有属性和‘受保护的’属性

Python 不能像 java 那样使用 private 修饰符创建私有属性,但是 Python 有个简单的机制,能避免子类意外覆盖‘私有’属性。举个例子,有个人编写了一个名为 dog 的类,这个类的内部用到了 mood 实例属性,但是没有将其开放,现在,你创建了 dog 类的子类:beagle,如果你有创建了名为 mood 的实例属性,那么在继承的方法中就会把 dog 类的 mood 属性覆...

2019-04-19 09:22:47

Python 自定义类实现更Python的语言风格

如何实现在很多 Python 类型中常见的特殊方法,以一个简单的欧几里得向量类型为例:"""A 2-dimensional vector class >>> v1 = Vector2d(3, 4) >>> print(v1.x, v1.y) 3.0 4.0 >>> x, y = v1 >&...

2019-04-18 22:29:00

Python 函数的参数作为引用时,不使用可变类型参数作为参数的默认值

可选参数有默认值,这是 Python 函数定义的一个很棒的特性,这样 API 在进化的同时能保证向后兼容,但是我们应当避免使用可变的对象作为参数的默认值。""">>> bus1 = HauntedBus(['Alice', 'Bill'])>>> bus1.passengers['Alice', 'Bill']>>> bus1.p...

2019-04-18 17:02:29

Python 为任意对象做深复制和浅复制

默认做浅复制,复制列表(或多数内置的可变集合)最简单的方式是使用内置的类型构造方法。然后,构造方法做的是浅复制(即复制了最外层容器,副本中的元素是原容器中元素的引用)。多个浅复制的应用是共享一个原容器的引用的,因此,出现可变元素时,改动会相互影响。l2 = list(l1) 这种是浅复制,l2 和 l1 值相同,但是标识是不同,指的是不同的对象。深复制,即副本之间不共享内部对象的引用。copy...

2019-04-18 16:32:27

Python 元组的相对不可变性

元组与多数的 Python 集合(列表,字典,集等)一样,保持的是对象的引用,如果引用的元素是可变的,即便元组本身不可变,元素依然可变。也就是说,元组的不可变性其实是指 tuple 数据结构的物理内容(即保存的引用)不可变,与引用的对象无关。元组中的值会随着引用的可变对象的变化而变,元组中不可变的是元素的标识。一开始,t1 和 t2 相等,但是修改 t1 中的一个可变元素之后,二者就不相...

2019-04-18 15:22:14

Python 参数化装饰器

在解析源码中的装饰器时,Python 会把被装饰的函数作为第一个参数传给装饰器函数,那怎么让装饰器接受其他参数呢?答案是建立一个装饰器工厂函数,返回一个装饰器,然后再把它应用到要装饰的函数上。举例:# BEGIN REGISTRATIONregistry = [] # <1>def register(func): # <2> print(...

2019-04-18 12:51:12

查看更多

CSDN身份
  • 博客专家
勋章 我的勋章
  • GitHub
    GitHub
    绑定GitHub第三方账户获取
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 1024勋章
    1024勋章
    #1024程序员节#活动勋章,当日发布原创博客即可获得
  • 勤写标兵Lv4
    勤写标兵Lv4
    授予每个自然周发布9篇以上(包括9篇)原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。