Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
PaddlePaddle
PaddleClas
提交
0e7bea51
P
PaddleClas
项目概览
PaddlePaddle
/
PaddleClas
大约 1 年 前同步成功
通知
115
Star
4999
Fork
1114
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
19
列表
看板
标记
里程碑
合并请求
6
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
P
PaddleClas
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
19
Issue
19
列表
看板
标记
里程碑
合并请求
6
合并请求
6
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
未验证
提交
0e7bea51
编写于
7月 24, 2020
作者:
L
littletomatodonkey
提交者:
GitHub
7月 24, 2020
浏览文件
操作
浏览文件
下载
差异文件
Merge pull request #223 from littletomatodonkey/fix_single_card_dyg
fix single card dygraph train process
上级
6f5ab4e3
c384773f
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
16 addition
and
7 deletion
+16
-7
tools/program.py
tools/program.py
+7
-3
tools/train.py
tools/train.py
+9
-4
未找到文件。
tools/program.py
浏览文件 @
0e7bea51
...
...
@@ -329,9 +329,13 @@ def run(dataloader, config, net, optimizer=None, epoch=0, mode='train'):
feeds
=
create_feeds
(
batch
,
use_mix
)
fetchs
=
create_fetchs
(
feeds
,
net
,
config
,
mode
)
if
mode
==
'train'
:
avg_loss
=
net
.
scale_loss
(
fetchs
[
'loss'
])
avg_loss
.
backward
()
net
.
apply_collective_grads
()
if
config
[
"use_data_parallel"
]:
avg_loss
=
net
.
scale_loss
(
fetchs
[
'loss'
])
avg_loss
.
backward
()
net
.
apply_collective_grads
()
else
:
avg_loss
=
fetchs
[
'loss'
]
avg_loss
.
backward
()
optimizer
.
minimize
(
avg_loss
)
net
.
clear_gradients
()
...
...
tools/train.py
浏览文件 @
0e7bea51
...
...
@@ -52,10 +52,14 @@ def main(args):
gpu_id
=
fluid
.
dygraph
.
parallel
.
Env
().
dev_id
place
=
fluid
.
CUDAPlace
(
gpu_id
)
use_data_parallel
=
int
(
os
.
getenv
(
"PADDLE_TRAINERS_NUM"
,
1
))
!=
1
config
[
"use_data_parallel"
]
=
use_data_parallel
with
fluid
.
dygraph
.
guard
(
place
):
strategy
=
fluid
.
dygraph
.
parallel
.
prepare_context
()
net
=
program
.
create_model
(
config
.
ARCHITECTURE
,
config
.
classes_num
)
net
=
fluid
.
dygraph
.
parallel
.
DataParallel
(
net
,
strategy
)
if
config
[
"use_data_parallel"
]:
strategy
=
fluid
.
dygraph
.
parallel
.
prepare_context
()
net
=
fluid
.
dygraph
.
parallel
.
DataParallel
(
net
,
strategy
)
optimizer
=
program
.
create_optimizer
(
config
,
parameter_list
=
net
.
parameters
())
...
...
@@ -79,7 +83,8 @@ def main(args):
program
.
run
(
train_dataloader
,
config
,
net
,
optimizer
,
epoch_id
,
'train'
)
if
fluid
.
dygraph
.
parallel
.
Env
().
local_rank
==
0
:
if
not
config
[
"use_data_parallel"
]
or
fluid
.
dygraph
.
parallel
.
Env
(
).
local_rank
==
0
:
# 2. validate with validate dataset
if
config
.
validate
and
epoch_id
%
config
.
valid_interval
==
0
:
net
.
eval
()
...
...
@@ -108,4 +113,4 @@ def main(args):
if
__name__
==
'__main__'
:
args
=
parse_args
()
main
(
args
)
\ No newline at end of file
main
(
args
)
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录