Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
PaddlePaddle
PaddleGAN
提交
942bb211
P
PaddleGAN
项目概览
PaddlePaddle
/
PaddleGAN
1 年多 前同步成功
通知
97
Star
7254
Fork
1210
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
4
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
P
PaddleGAN
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
4
Issue
4
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
未验证
提交
942bb211
编写于
10月 26, 2020
作者:
Y
Yiqun Liu
提交者:
GitHub
10月 26, 2020
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Add ips to the benchmark information. (#47)
上级
2b570d02
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
30 addition
and
16 deletion
+30
-16
ppgan/engine/trainer.py
ppgan/engine/trainer.py
+20
-14
ppgan/utils/timer.py
ppgan/utils/timer.py
+10
-2
未找到文件。
ppgan/engine/trainer.py
浏览文件 @
942bb211
...
...
@@ -77,10 +77,13 @@ class Trainer:
self
.
model
.
set_input
(
data
)
self
.
model
.
optimize_parameters
()
batch_cost_averager
.
record
(
time
.
time
()
-
step_start_time
)
batch_cost_averager
.
record
(
time
.
time
()
-
step_start_time
,
num_samples
=
self
.
cfg
.
get
(
'batch_size'
,
1
))
if
i
%
self
.
log_interval
==
0
:
self
.
data_time
=
reader_cost_averager
.
get_average
()
self
.
step_time
=
batch_cost_averager
.
get_average
()
self
.
ips
=
batch_cost_averager
.
get_ips_average
()
self
.
print_log
()
reader_cost_averager
.
reset
()
...
...
@@ -91,8 +94,8 @@ class Trainer:
step_start_time
=
time
.
time
()
self
.
logger
.
info
(
'train one epoch time: {}'
.
format
(
time
.
time
()
-
start_time
))
self
.
logger
.
info
(
'train one epoch time: {}'
.
format
(
time
.
time
()
-
start_time
))
if
self
.
validate_interval
>
-
1
and
epoch
%
self
.
validate_interval
:
self
.
validate
()
self
.
model
.
lr_scheduler
.
step
()
...
...
@@ -102,8 +105,8 @@ class Trainer:
def
validate
(
self
):
if
not
hasattr
(
self
,
'val_dataloader'
):
self
.
val_dataloader
=
build_dataloader
(
self
.
cfg
.
dataset
.
val
,
is_train
=
False
)
self
.
val_dataloader
=
build_dataloader
(
self
.
cfg
.
dataset
.
val
,
is_train
=
False
)
metric_result
=
{}
...
...
@@ -149,8 +152,8 @@ class Trainer:
self
.
visual
(
'visual_val'
,
visual_results
=
visual_results
)
if
i
%
self
.
log_interval
==
0
:
self
.
logger
.
info
(
'val iter: [%d/%d]'
%
(
i
,
len
(
self
.
val_dataloader
)))
self
.
logger
.
info
(
'val iter: [%d/%d]'
%
(
i
,
len
(
self
.
val_dataloader
)))
for
metric_name
in
metric_result
.
keys
():
metric_result
[
metric_name
]
/=
len
(
self
.
val_dataloader
.
dataset
)
...
...
@@ -160,8 +163,8 @@ class Trainer:
def
test
(
self
):
if
not
hasattr
(
self
,
'test_dataloader'
):
self
.
test_dataloader
=
build_dataloader
(
self
.
cfg
.
dataset
.
test
,
is_train
=
False
)
self
.
test_dataloader
=
build_dataloader
(
self
.
cfg
.
dataset
.
test
,
is_train
=
False
)
# data[0]: img, data[1]: img path index
# test batch size must be 1
...
...
@@ -185,8 +188,8 @@ class Trainer:
self
.
visual
(
'visual_test'
,
visual_results
=
visual_results
)
if
i
%
self
.
log_interval
==
0
:
self
.
logger
.
info
(
'Test iter: [%d/%d]'
%
(
i
,
len
(
self
.
test_dataloader
)))
self
.
logger
.
info
(
'Test iter: [%d/%d]'
%
(
i
,
len
(
self
.
test_dataloader
)))
def
print_log
(
self
):
losses
=
self
.
model
.
get_current_losses
()
...
...
@@ -197,11 +200,14 @@ class Trainer:
for
k
,
v
in
losses
.
items
():
message
+=
'%s: %.3f '
%
(
k
,
v
)
if
hasattr
(
self
,
'step_time'
):
message
+=
'batch_cost: %.5f sec '
%
self
.
step_time
if
hasattr
(
self
,
'data_time'
):
message
+=
'reader
cost: %.5fs
'
%
self
.
data_time
message
+=
'reader
_cost: %.5f sec
'
%
self
.
data_time
if
hasattr
(
self
,
'
step_time
'
):
message
+=
'
batch cost: %.5fs'
%
self
.
step_time
if
hasattr
(
self
,
'
ips
'
):
message
+=
'
ips: %.5f images/s'
%
self
.
ips
# print the message
self
.
logger
.
info
(
message
)
...
...
ppgan/utils/timer.py
浏览文件 @
942bb211
...
...
@@ -22,12 +22,20 @@ class TimeAverager(object):
def
reset
(
self
):
self
.
_cnt
=
0
self
.
_total_time
=
0
self
.
_total_samples
=
0
def
record
(
self
,
usetime
):
def
record
(
self
,
usetime
,
num_samples
=
None
):
self
.
_cnt
+=
1
self
.
_total_time
+=
usetime
if
num_samples
:
self
.
_total_samples
+=
num_samples
def
get_average
(
self
):
if
self
.
_cnt
==
0
:
return
0
return
self
.
_total_time
/
self
.
_cnt
return
self
.
_total_time
/
float
(
self
.
_cnt
)
def
get_ips_average
(
self
):
if
not
self
.
_total_samples
or
self
.
_cnt
==
0
:
return
0
return
float
(
self
.
_total_samples
)
/
self
.
_total_time
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录