Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
曾经的那一瞬间
Models
提交
2a3ef184
M
Models
项目概览
曾经的那一瞬间
/
Models
9 个月 前同步成功
通知
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,体验更适合开发者的 AI 搜索 >>
提交
2a3ef184
编写于
8月 01, 2023
作者:
F
Fan Yang
提交者:
A. Unique TensorFlower
8月 01, 2023
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
No public description
PiperOrigin-RevId: 553017713
上级
9cf24bdd
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
23 addition
and
15 deletion
+23
-15
official/vision/dataloaders/retinanet_input.py
official/vision/dataloaders/retinanet_input.py
+20
-14
official/vision/ops/anchor.py
official/vision/ops/anchor.py
+3
-1
未找到文件。
official/vision/dataloaders/retinanet_input.py
浏览文件 @
2a3ef184
...
...
@@ -177,7 +177,7 @@ class Parser(parser.Parser):
image_info
[
1
,
:],
offset
)
return
image
,
boxes
,
image_info
def
_parse_train_data
(
self
,
data
,
anchor_labeler
=
None
):
def
_parse_train_data
(
self
,
data
,
anchor_labeler
=
None
,
input_anchor
=
None
):
"""Parses data for training and evaluation."""
classes
=
data
[
'groundtruth_classes'
]
boxes
=
data
[
'groundtruth_boxes'
]
...
...
@@ -251,12 +251,15 @@ class Parser(parser.Parser):
attributes
[
k
]
=
tf
.
gather
(
v
,
indices
)
# Assigns anchors.
input_anchor
=
anchor
.
build_anchor_generator
(
min_level
=
self
.
_min_level
,
max_level
=
self
.
_max_level
,
num_scales
=
self
.
_num_scales
,
aspect_ratios
=
self
.
_aspect_ratios
,
anchor_size
=
self
.
_anchor_size
)
if
input_anchor
is
None
:
input_anchor
=
anchor
.
build_anchor_generator
(
min_level
=
self
.
_min_level
,
max_level
=
self
.
_max_level
,
num_scales
=
self
.
_num_scales
,
aspect_ratios
=
self
.
_aspect_ratios
,
anchor_size
=
self
.
_anchor_size
,
)
anchor_boxes
=
input_anchor
(
image_size
=
(
image_height
,
image_width
))
if
anchor_labeler
is
None
:
anchor_labeler
=
anchor
.
AnchorLabeler
(
...
...
@@ -284,7 +287,7 @@ class Parser(parser.Parser):
labels
[
'attribute_targets'
]
=
att_targets
return
image
,
labels
def
_parse_eval_data
(
self
,
data
,
anchor_labeler
=
None
):
def
_parse_eval_data
(
self
,
data
,
anchor_labeler
=
None
,
input_anchor
=
None
):
"""Parses data for training and evaluation."""
classes
=
data
[
'groundtruth_classes'
]
...
...
@@ -326,12 +329,15 @@ class Parser(parser.Parser):
attributes
[
k
]
=
tf
.
gather
(
v
,
indices
)
# Assigns anchors.
input_anchor
=
anchor
.
build_anchor_generator
(
min_level
=
self
.
_min_level
,
max_level
=
self
.
_max_level
,
num_scales
=
self
.
_num_scales
,
aspect_ratios
=
self
.
_aspect_ratios
,
anchor_size
=
self
.
_anchor_size
)
if
input_anchor
is
None
:
input_anchor
=
anchor
.
build_anchor_generator
(
min_level
=
self
.
_min_level
,
max_level
=
self
.
_max_level
,
num_scales
=
self
.
_num_scales
,
aspect_ratios
=
self
.
_aspect_ratios
,
anchor_size
=
self
.
_anchor_size
,
)
anchor_boxes
=
input_anchor
(
image_size
=
(
image_height
,
image_width
))
if
anchor_labeler
is
None
:
anchor_labeler
=
anchor
.
AnchorLabeler
(
...
...
official/vision/ops/anchor.py
浏览文件 @
2a3ef184
...
...
@@ -15,6 +15,7 @@
"""Anchor box and labeler definition."""
import
collections
import
math
from
typing
import
Dict
,
Optional
,
Tuple
# Import libraries
...
...
@@ -78,9 +79,10 @@ class Anchor(object):
boxes_all
=
[]
for
level
in
range
(
self
.
min_level
,
self
.
max_level
+
1
):
boxes_l
=
[]
feat_size
=
math
.
ceil
(
self
.
image_size
[
0
]
/
2
**
level
)
stride
=
tf
.
cast
(
self
.
image_size
[
0
]
/
feat_size
,
tf
.
float32
)
for
scale
in
range
(
self
.
num_scales
):
for
aspect_ratio
in
self
.
aspect_ratios
:
stride
=
2
**
level
intermidate_scale
=
2
**
(
scale
/
float
(
self
.
num_scales
))
base_anchor_size
=
self
.
anchor_size
*
stride
*
intermidate_scale
aspect_x
=
aspect_ratio
**
0.5
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录