Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
阿飞的客栈
Mask_RCNN
提交
767650d6
M
Mask_RCNN
项目概览
阿飞的客栈
/
Mask_RCNN
与 Fork 源项目一致
从无法访问的项目Fork
通知
7
Star
0
Fork
1
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
M
Mask_RCNN
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
767650d6
编写于
11月 07, 2017
作者:
彭
彭冲
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
modify DetectionLayer to support batch_size > 1
上级
4d157d6e
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
13 addition
and
14 deletion
+13
-14
model.py
model.py
+13
-14
未找到文件。
model.py
浏览文件 @
767650d6
...
...
@@ -712,25 +712,24 @@ class DetectionLayer(KE.Layer):
def
call
(
self
,
inputs
):
def
wrapper
(
rois
,
mrcnn_class
,
mrcnn_bbox
,
image_meta
):
# currently supports one image per batch
b
=
0
_
,
_
,
window
,
_
=
parse_image_meta
(
image_meta
)
detections
=
refine_detections
(
rois
[
b
],
mrcnn_class
[
b
],
mrcnn_bbox
[
b
],
window
[
b
],
self
.
config
)
# Pad with zeros if detections < DETECTION_MAX_INSTANCES
gap
=
self
.
config
.
DETECTION_MAX_INSTANCES
-
detections
.
shape
[
0
]
assert
gap
>=
0
if
gap
>
0
:
detections
=
np
.
pad
(
detections
,
[(
0
,
gap
),
(
0
,
0
)],
'constant'
,
constant_values
=
0
)
detections_batch
=
[]
for
b
in
range
(
self
.
config
.
BATCH_SIZE
):
_
,
_
,
window
,
_
=
parse_image_meta
(
image_meta
)
detections
=
refine_detections
(
rois
[
b
],
mrcnn_class
[
b
],
mrcnn_bbox
[
b
],
window
[
b
],
self
.
config
)
# Pad with zeros if detections < DETECTION_MAX_INSTANCES
gap
=
self
.
config
.
DETECTION_MAX_INSTANCES
-
detections
.
shape
[
0
]
assert
gap
>=
0
if
gap
>
0
:
detections
=
np
.
pad
(
detections
,
[(
0
,
gap
),
(
0
,
0
)],
'constant'
,
constant_values
=
0
)
detections_batch
.
append
(
detections
)
# Cast to float32
# TODO: track where float64 is introduced
detections
=
detections
.
astype
(
np
.
float32
)
detections_batch
=
np
.
array
(
detections_batch
).
astype
(
np
.
float32
)
# Reshape output
# [batch, num_detections, (y1, x1, y2, x2, class_score)] in pixels
return
np
.
reshape
(
detections
,
[
1
,
self
.
config
.
DETECTION_MAX_INSTANCES
,
6
])
return
np
.
reshape
(
detections_batch
,
[
self
.
config
.
BATCH_SIZE
,
self
.
config
.
DETECTION_MAX_INSTANCES
,
6
])
# Return wrapped function
return
tf
.
py_func
(
wrapper
,
inputs
,
tf
.
float32
)
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录