Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
曾经的那一瞬间
Models
提交
8ca78e39
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,发现更多精彩内容 >>
提交
8ca78e39
编写于
5月 28, 2020
作者:
Y
Yeqing Li
提交者:
A. Unique TensorFlower
5月 28, 2020
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Adds an option to control evaluation in training loop.
PiperOrigin-RevId: 313708781
上级
8ea058b9
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
7 addition
and
3 deletion
+7
-3
official/modeling/training/distributed_executor.py
official/modeling/training/distributed_executor.py
+7
-3
未找到文件。
official/modeling/training/distributed_executor.py
浏览文件 @
8ca78e39
...
...
@@ -343,6 +343,7 @@ class DistributedExecutor(object):
SummaryWriter
]
=
SummaryWriter
,
init_checkpoint
:
Callable
[[
tf
.
keras
.
Model
],
Any
]
=
None
,
custom_callbacks
:
List
[
tf
.
keras
.
callbacks
.
Callback
]
=
None
,
continuous_eval
:
bool
=
False
,
save_config
:
bool
=
True
):
"""Runs distributed training.
...
...
@@ -362,8 +363,10 @@ class DistributedExecutor(object):
custom_callbacks: A list of Keras Callbacks objects to run during
training. More specifically, `on_batch_begin()`, `on_batch_end()`,
methods are invoked during training.
continuous_eval: If `True`, will continously run evaluation on every
available checkpoints. If `False`, will do the evaluation once after the
final step.
save_config: bool. Whether to save params to model_dir.
Returns:
The training loss and eval metrics.
"""
...
...
@@ -414,6 +417,7 @@ class DistributedExecutor(object):
# input pipeline ops in worker task.
train_iterator
=
self
.
_get_input_iterator
(
train_input_fn
,
strategy
)
train_loss
=
None
train_metric_result
=
None
eval_metric_result
=
None
tf
.
keras
.
backend
.
set_learning_phase
(
1
)
with
strategy
.
scope
():
...
...
@@ -530,7 +534,7 @@ class DistributedExecutor(object):
checkpoint_name
.
format
(
step
=
current_step
))
last_save_checkpoint_step
=
current_step
if
test_step
:
if
continuous_eval
and
current_step
<
total_steps
and
test_step
:
eval_iterator
=
self
.
_get_input_iterator
(
eval_input_fn
,
strategy
)
eval_metric_result
=
self
.
_run_evaluation
(
test_step
,
current_step
,
eval_metric
,
eval_iterator
)
...
...
@@ -562,7 +566,7 @@ class DistributedExecutor(object):
self
.
train_summary_writer
.
close
()
self
.
eval_summary_writer
.
close
()
return
train_
loss
,
eval_metric_result
return
train_
metric_result
,
eval_metric_result
def
_run_evaluation
(
self
,
test_step
,
current_training_step
,
metric
,
test_iterator
):
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录