Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
曾经的那一瞬间
Models
提交
bdf4a7bb
M
Models
项目概览
曾经的那一瞬间
/
Models
大约 1 年 前同步成功
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
M
Models
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
bdf4a7bb
编写于
12月 01, 2022
作者:
F
Fan Yang
提交者:
A. Unique TensorFlower
12月 01, 2022
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Internal change.
PiperOrigin-RevId: 492381485
上级
462459cf
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
7 addition
and
6 deletion
+7
-6
official/vision/modeling/layers/edgetpu.py
official/vision/modeling/layers/edgetpu.py
+5
-4
official/vision/modeling/layers/edgetpu_test.py
official/vision/modeling/layers/edgetpu_test.py
+2
-2
未找到文件。
official/vision/modeling/layers/edgetpu.py
浏览文件 @
bdf4a7bb
...
...
@@ -101,14 +101,15 @@ def _same(x):
return
tf
.
constant
(
1
,
dtype
=
x
.
dtype
)
+
tf
.
math
.
floor
(
-
x_clip
)
def
shard_tensors
(
axis
:
int
,
block_size
:
int
,
*
tensors
:
tf
.
Tensor
)
->
Iterable
[
Sequence
[
tf
.
Tensor
]]:
def
shard_tensors
(
axis
:
int
,
block_size
:
int
,
tensors
:
Sequence
[
tf
.
Tensor
])
->
Iterable
[
Sequence
[
tf
.
Tensor
]]:
"""Consistently splits multiple tensors sharding-style.
Args:
axis: axis to be used to split tensors
block_size: block size to split tensors.
*
tensors: list of tensors.
tensors: list of tensors.
Returns:
List of shards, each shard has exactly one peace of each input tesnor.
...
...
@@ -206,7 +207,7 @@ def non_max_suppression_padded(boxes: tf.Tensor,
scores
=
tf
.
reshape
(
scores
,
[
batch_size
,
boxes_size
])
block
=
max
(
1
,
_RECOMMENDED_NMS_MEMORY
//
(
boxes_size
*
boxes_size
))
indices
=
[]
for
boxes_i
,
scores_i
in
shard_tensors
(
0
,
block
,
boxes
,
scores
):
for
boxes_i
,
scores_i
in
shard_tensors
(
0
,
block
,
(
boxes
,
scores
)
):
indices
.
append
(
_non_max_suppression_as_is
(
boxes_i
,
scores_i
,
output_size
,
iou_threshold
,
refinements
))
...
...
official/vision/modeling/layers/edgetpu_test.py
浏览文件 @
bdf4a7bb
...
...
@@ -191,7 +191,7 @@ class NonMaxSuppressionTest(parameterized.TestCase, tf.test.TestCase):
[
15
,
16
,
17
,
18
,
19
],
[
20
,
21
,
22
,
23
,
24
],
]])
for
i
,
(
a_i
,
b_i
)
in
enumerate
(
edgetpu
.
shard_tensors
(
1
,
3
,
a
,
b
)):
for
i
,
(
a_i
,
b_i
)
in
enumerate
(
edgetpu
.
shard_tensors
(
1
,
3
,
(
a
,
b
)
)):
self
.
assertAllEqual
(
a_i
,
a
[:,
i
*
3
:
i
*
3
+
3
])
self
.
assertAllEqual
(
b_i
,
b
[:,
i
*
3
:
i
*
3
+
3
,
:])
...
...
@@ -233,7 +233,7 @@ class NonMaxSuppressionTest(parameterized.TestCase, tf.test.TestCase):
shape
=
axis
*
[
1
]
+
[
10000
],
dtype
=
tf
.
float32
)
top_1000_direct
:
tf
.
Tensor
=
tf
.
math
.
top_k
(
sample
,
1000
).
values
top_1000_sharded
:
Optional
[
tf
.
Tensor
]
=
None
for
(
piece
,)
in
edgetpu
.
shard_tensors
(
axis
,
1500
,
sample
):
for
(
piece
,)
in
edgetpu
.
shard_tensors
(
axis
,
1500
,
(
sample
,)
):
(
top_1000_sharded
,)
=
edgetpu
.
concat_and_top_k
(
1000
,
(
top_1000_sharded
,
piece
))
self
.
assertAllEqual
(
top_1000_direct
,
top_1000_sharded
)
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录