Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
s920243400
PaddleDetection
提交
3a48c562
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看板
体验新版 GitCode,发现更多精彩内容 >>
未验证
提交
3a48c562
编写于
10月 23, 2020
作者:
W
wangguanzhong
提交者:
GitHub
10月 23, 2020
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
fix cascade series models (#1588)
上级
a30b8c3f
变更
5
隐藏空白更改
内联
并排
Showing
5 changed file
with
32 addition
and
10 deletion
+32
-10
ppdet/modeling/architectures/cascade_mask_rcnn.py
ppdet/modeling/architectures/cascade_mask_rcnn.py
+7
-2
ppdet/modeling/architectures/cascade_rcnn.py
ppdet/modeling/architectures/cascade_rcnn.py
+7
-2
ppdet/modeling/architectures/cascade_rcnn_cls_aware.py
ppdet/modeling/architectures/cascade_rcnn_cls_aware.py
+7
-2
ppdet/modeling/architectures/htc.py
ppdet/modeling/architectures/htc.py
+7
-2
ppdet/modeling/target_assigners.py
ppdet/modeling/target_assigners.py
+4
-2
未找到文件。
ppdet/modeling/architectures/cascade_mask_rcnn.py
浏览文件 @
3a48c562
...
@@ -135,6 +135,7 @@ class CascadeMaskRCNN(object):
...
@@ -135,6 +135,7 @@ class CascadeMaskRCNN(object):
proposals
=
None
proposals
=
None
bbox_pred
=
None
bbox_pred
=
None
max_overlap
=
None
for
i
in
range
(
3
):
for
i
in
range
(
3
):
if
i
>
0
:
if
i
>
0
:
refined_bbox
=
self
.
_decode_box
(
refined_bbox
=
self
.
_decode_box
(
...
@@ -146,10 +147,14 @@ class CascadeMaskRCNN(object):
...
@@ -146,10 +147,14 @@ class CascadeMaskRCNN(object):
if
mode
==
'train'
:
if
mode
==
'train'
:
outs
=
self
.
bbox_assigner
(
outs
=
self
.
bbox_assigner
(
input_rois
=
refined_bbox
,
feed_vars
=
feed_vars
,
curr_stage
=
i
)
input_rois
=
refined_bbox
,
feed_vars
=
feed_vars
,
curr_stage
=
i
,
max_overlap
=
max_overlap
)
proposals
=
outs
[
0
]
proposals
=
outs
[
0
]
rcnn_target_list
.
append
(
outs
)
max_overlap
=
outs
[
-
1
]
rcnn_target_list
.
append
(
outs
[:
-
1
])
else
:
else
:
proposals
=
refined_bbox
proposals
=
refined_bbox
proposal_list
.
append
(
proposals
)
proposal_list
.
append
(
proposals
)
...
...
ppdet/modeling/architectures/cascade_rcnn.py
浏览文件 @
3a48c562
...
@@ -128,6 +128,7 @@ class CascadeRCNN(object):
...
@@ -128,6 +128,7 @@ class CascadeRCNN(object):
proposals
=
None
proposals
=
None
bbox_pred
=
None
bbox_pred
=
None
max_overlap
=
None
for
i
in
range
(
3
):
for
i
in
range
(
3
):
if
i
>
0
:
if
i
>
0
:
refined_bbox
=
self
.
_decode_box
(
refined_bbox
=
self
.
_decode_box
(
...
@@ -139,10 +140,14 @@ class CascadeRCNN(object):
...
@@ -139,10 +140,14 @@ class CascadeRCNN(object):
if
mode
==
'train'
:
if
mode
==
'train'
:
outs
=
self
.
bbox_assigner
(
outs
=
self
.
bbox_assigner
(
input_rois
=
refined_bbox
,
feed_vars
=
feed_vars
,
curr_stage
=
i
)
input_rois
=
refined_bbox
,
feed_vars
=
feed_vars
,
curr_stage
=
i
,
max_overlap
=
max_overlap
)
proposals
=
outs
[
0
]
proposals
=
outs
[
0
]
rcnn_target_list
.
append
(
outs
)
max_overlap
=
outs
[
-
1
]
rcnn_target_list
.
append
(
outs
[:
-
1
])
else
:
else
:
proposals
=
refined_bbox
proposals
=
refined_bbox
proposal_list
.
append
(
proposals
)
proposal_list
.
append
(
proposals
)
...
...
ppdet/modeling/architectures/cascade_rcnn_cls_aware.py
浏览文件 @
3a48c562
...
@@ -117,6 +117,7 @@ class CascadeRCNNClsAware(object):
...
@@ -117,6 +117,7 @@ class CascadeRCNNClsAware(object):
self
.
cascade_decoded_box
=
[]
self
.
cascade_decoded_box
=
[]
self
.
cascade_cls_prob
=
[]
self
.
cascade_cls_prob
=
[]
max_overlap
=
None
for
stage
in
range
(
3
):
for
stage
in
range
(
3
):
if
stage
>
0
:
if
stage
>
0
:
...
@@ -126,9 +127,13 @@ class CascadeRCNNClsAware(object):
...
@@ -126,9 +127,13 @@ class CascadeRCNNClsAware(object):
if
mode
==
"train"
:
if
mode
==
"train"
:
self
.
cascade_var_v
[
stage
].
stop_gradient
=
True
self
.
cascade_var_v
[
stage
].
stop_gradient
=
True
outs
=
self
.
bbox_assigner
(
outs
=
self
.
bbox_assigner
(
input_rois
=
pool_rois
,
feed_vars
=
feed_vars
,
curr_stage
=
stage
)
input_rois
=
pool_rois
,
feed_vars
=
feed_vars
,
curr_stage
=
stage
,
max_overlap
=
max_overlap
)
pool_rois
=
outs
[
0
]
pool_rois
=
outs
[
0
]
rcnn_target_list
.
append
(
outs
)
max_overlap
=
outs
[
-
1
]
rcnn_target_list
.
append
(
outs
[:
-
1
])
# extract roi features
# extract roi features
roi_feat
=
self
.
roi_extractor
(
body_feats
,
pool_rois
,
spatial_scale
)
roi_feat
=
self
.
roi_extractor
(
body_feats
,
pool_rois
,
spatial_scale
)
...
...
ppdet/modeling/architectures/htc.py
浏览文件 @
3a48c562
...
@@ -158,13 +158,18 @@ class HybridTaskCascade(object):
...
@@ -158,13 +158,18 @@ class HybridTaskCascade(object):
bbox_pred
=
None
bbox_pred
=
None
outs
=
None
outs
=
None
refined_bbox
=
rpn_rois
refined_bbox
=
rpn_rois
max_overlap
=
None
for
i
in
range
(
self
.
num_stage
):
for
i
in
range
(
self
.
num_stage
):
# BBox Branch
# BBox Branch
if
mode
==
'train'
:
if
mode
==
'train'
:
outs
=
self
.
bbox_assigner
(
outs
=
self
.
bbox_assigner
(
input_rois
=
refined_bbox
,
feed_vars
=
feed_vars
,
curr_stage
=
i
)
input_rois
=
refined_bbox
,
feed_vars
=
feed_vars
,
curr_stage
=
i
,
max_overlap
=
max_overlap
)
proposals
=
outs
[
0
]
proposals
=
outs
[
0
]
rcnn_target_list
.
append
(
outs
)
max_overlap
=
outs
[
-
1
]
rcnn_target_list
.
append
(
outs
[:
-
1
])
else
:
else
:
proposals
=
refined_bbox
proposals
=
refined_bbox
proposal_list
.
append
(
proposals
)
proposal_list
.
append
(
proposals
)
...
...
ppdet/modeling/target_assigners.py
浏览文件 @
3a48c562
...
@@ -53,7 +53,7 @@ class CascadeBBoxAssigner(object):
...
@@ -53,7 +53,7 @@ class CascadeBBoxAssigner(object):
self
.
use_random
=
shuffle_before_sample
self
.
use_random
=
shuffle_before_sample
self
.
class_aware
=
class_aware
self
.
class_aware
=
class_aware
def
__call__
(
self
,
input_rois
,
feed_vars
,
curr_stage
):
def
__call__
(
self
,
input_rois
,
feed_vars
,
curr_stage
,
max_overlap
=
None
):
curr_bbox_reg_w
=
[
curr_bbox_reg_w
=
[
1.
/
self
.
bbox_reg_weights
[
curr_stage
],
1.
/
self
.
bbox_reg_weights
[
curr_stage
],
...
@@ -76,5 +76,7 @@ class CascadeBBoxAssigner(object):
...
@@ -76,5 +76,7 @@ class CascadeBBoxAssigner(object):
class_nums
=
self
.
class_nums
if
self
.
class_aware
else
2
,
class_nums
=
self
.
class_nums
if
self
.
class_aware
else
2
,
is_cls_agnostic
=
not
self
.
class_aware
,
is_cls_agnostic
=
not
self
.
class_aware
,
is_cascade_rcnn
=
True
is_cascade_rcnn
=
True
if
curr_stage
>
0
and
not
self
.
class_aware
else
False
)
if
curr_stage
>
0
and
not
self
.
class_aware
else
False
,
max_overlap
=
max_overlap
,
return_max_overlap
=
True
)
return
outs
return
outs
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录