Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
机器未来
Paddle
提交
2000cafe
P
Paddle
项目概览
机器未来
/
Paddle
与 Fork 源项目一致
Fork自
PaddlePaddle / Paddle
通知
1
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
1
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
P
Paddle
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
1
Issue
1
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
2000cafe
编写于
10月 27, 2017
作者:
武
武毅
提交者:
GitHub
10月 27, 2017
浏览文件
操作
浏览文件
下载
差异文件
Merge pull request #5132 from typhoonzero/fix_ft_job_converge
fix ft job converge
上级
8f4476b8
20d9b20a
变更
1
显示空白变更内容
内联
并排
Showing
1 changed file
with
4 addition
and
37 deletion
+4
-37
paddle/trainer/NewRemoteParameterUpdater.cpp
paddle/trainer/NewRemoteParameterUpdater.cpp
+4
-37
未找到文件。
paddle/trainer/NewRemoteParameterUpdater.cpp
浏览文件 @
2000cafe
...
@@ -110,43 +110,10 @@ void NewRemoteParameterUpdater::init(
...
@@ -110,43 +110,10 @@ void NewRemoteParameterUpdater::init(
// overwrite optimizerConfigV2 for per-parameter(layer) configs
// overwrite optimizerConfigV2 for per-parameter(layer) configs
for
(
int
i
=
0
;
i
<
parameterSize
();
++
i
)
{
for
(
int
i
=
0
;
i
<
parameterSize
();
++
i
)
{
auto
paramConfig
=
parameters_
[
i
]
->
getConfig
();
// FIXME(typhoonzero): paramConfig always have default values,
if
(
paramConfig
.
has_momentum
()
&&
// how to check if it's default?
trainerConfig_
.
learning_method
()
==
"momentum"
)
{
// TODO(typhoonzero): log output: optimizerConfigV2.DebugString();
optimizerConfigV2
.
mutable_sgd
()
->
set_momentum
(
paramConfig
.
momentum
());
LOG
(
INFO
)
<<
"trainerConfig_: "
<<
trainerConfig_
.
DebugString
();
}
if
(
paramConfig
.
has_learning_rate
())
{
switch
(
optimizerConfigV2
.
lr_policy
())
{
case
0
:
optimizerConfigV2
.
mutable_const_lr
()
->
set_learning_rate
(
paramConfig
.
learning_rate
());
break
;
case
1
:
optimizerConfigV2
.
mutable_linear_lr
()
->
set_learning_rate
(
paramConfig
.
learning_rate
());
break
;
}
}
if
(
paramConfig
.
has_decay_rate
())
{
switch
(
optimizerConfigV2
.
optimizer
())
{
case
1
:
// SGD
optimizerConfigV2
.
mutable_sgd
()
->
set_decay
(
paramConfig
.
decay_rate
());
break
;
case
2
:
// Adadelta
optimizerConfigV2
.
mutable_adadelta
()
->
set_decay
(
paramConfig
.
decay_rate
());
break
;
case
3
:
// Adagrad
optimizerConfigV2
.
mutable_adagrad
()
->
set_decay
(
paramConfig
.
decay_rate
());
break
;
case
4
:
// Adam
optimizerConfigV2
.
mutable_adam
()
->
set_decay
(
paramConfig
.
decay_rate
());
break
;
}
}
// send param and config to pserver
// send param and config to pserver
std
::
string
bytes
=
optimizerConfigV2
.
SerializeAsString
();
std
::
string
bytes
=
optimizerConfigV2
.
SerializeAsString
();
const
char
*
array
=
bytes
.
data
();
const
char
*
array
=
bytes
.
data
();
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录