Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
s920243400
PaddleDetection
提交
15dd0fab
P
PaddleDetection
项目概览
s920243400
/
PaddleDetection
与 Fork 源项目一致
Fork自
PaddlePaddle / PaddleDetection
通知
2
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
P
PaddleDetection
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
未验证
提交
15dd0fab
编写于
7月 09, 2020
作者:
Y
Yang Zhang
提交者:
GitHub
7月 09, 2020
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Add `matrix_nms` op (#645)
* Add `matrix_nms` op * Make OP registration more robust
上级
4d7ce643
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
43 addition
and
3 deletion
+43
-3
ppdet/core/workspace.py
ppdet/core/workspace.py
+16
-2
ppdet/modeling/ops.py
ppdet/modeling/ops.py
+27
-1
未找到文件。
ppdet/core/workspace.py
浏览文件 @
15dd0fab
...
@@ -140,8 +140,22 @@ def get_registered_modules():
...
@@ -140,8 +140,22 @@ def get_registered_modules():
def
make_partial
(
cls
):
def
make_partial
(
cls
):
op_module
=
importlib
.
import_module
(
cls
.
__op__
.
__module__
)
if
isinstance
(
cls
.
__op__
,
str
):
op
=
getattr
(
op_module
,
cls
.
__op__
.
__name__
)
sep
=
cls
.
__op__
.
split
(
'.'
)
op_name
=
sep
[
-
1
]
op_module
=
importlib
.
import_module
(
'.'
.
join
(
sep
[:
-
1
]))
else
:
op_name
=
cls
.
__op__
.
__name__
op_module
=
importlib
.
import_module
(
cls
.
__op__
.
__module__
)
if
not
hasattr
(
op_module
,
op_name
):
import
logging
logger
=
logging
.
getLogger
(
__name__
)
logger
.
warn
(
'{} OP not found, maybe a newer version of paddle '
'is required.'
.
format
(
cls
.
__op__
))
return
cls
op
=
getattr
(
op_module
,
op_name
)
cls
.
__category__
=
getattr
(
cls
,
'__category__'
,
None
)
or
'op'
cls
.
__category__
=
getattr
(
cls
,
'__category__'
,
None
)
or
'op'
def
partial_apply
(
self
,
*
args
,
**
kwargs
):
def
partial_apply
(
self
,
*
args
,
**
kwargs
):
...
...
ppdet/modeling/ops.py
浏览文件 @
15dd0fab
...
@@ -30,7 +30,7 @@ __all__ = [
...
@@ -30,7 +30,7 @@ __all__ = [
'GenerateProposals'
,
'MultiClassNMS'
,
'BBoxAssigner'
,
'MaskAssigner'
,
'GenerateProposals'
,
'MultiClassNMS'
,
'BBoxAssigner'
,
'MaskAssigner'
,
'RoIAlign'
,
'RoIPool'
,
'MultiBoxHead'
,
'SSDLiteMultiBoxHead'
,
'RoIAlign'
,
'RoIPool'
,
'MultiBoxHead'
,
'SSDLiteMultiBoxHead'
,
'SSDOutputDecoder'
,
'RetinaTargetAssign'
,
'RetinaOutputDecoder'
,
'ConvNorm'
,
'SSDOutputDecoder'
,
'RetinaTargetAssign'
,
'RetinaOutputDecoder'
,
'ConvNorm'
,
'DeformConvNorm'
,
'MultiClassSoftNMS'
,
'LibraBBoxAssigner'
'DeformConvNorm'
,
'MultiClassSoftNMS'
,
'
MatrixNMS'
,
'
LibraBBoxAssigner'
]
]
...
@@ -492,6 +492,32 @@ class MultiClassNMS(object):
...
@@ -492,6 +492,32 @@ class MultiClassNMS(object):
self
.
background_label
=
background_label
self
.
background_label
=
background_label
@
register
@
serializable
class
MatrixNMS
(
object
):
__op__
=
'paddle.fluid.layers.matrix_nms'
__append_doc__
=
True
def
__init__
(
self
,
score_threshold
=
.
05
,
post_threshold
=
.
05
,
nms_top_k
=-
1
,
keep_top_k
=
100
,
use_gaussian
=
False
,
gaussian_sigma
=
2.
,
normalized
=
False
,
background_label
=
0
):
super
(
MultiClassNMS
,
self
).
__init__
()
self
.
score_threshold
=
score_threshold
self
.
post_threshold
=
post_threshold
self
.
nms_top_k
=
nms_top_k
self
.
keep_top_k
=
keep_top_k
self
.
normalized
=
normalized
self
.
use_gaussian
=
use_gaussian
self
.
gaussian_sigma
=
gaussian_sigma
self
.
background_label
=
background_label
@
register
@
register
@
serializable
@
serializable
class
MultiClassSoftNMS
(
object
):
class
MultiClassSoftNMS
(
object
):
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录