Skip to content

Commit f0af5e7

Browse files
authored
Merge pull request #13638 from typhoonzero/cherrypick_13602
add decayed_adagrad support for dist train
2 parents 0e88e5a + c6ebcc7 commit f0af5e7

File tree

2 files changed

+22
-0
lines changed

2 files changed

+22
-0
lines changed

python/paddle/fluid/tests/unittests/test_dist_transpiler.py

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -264,6 +264,25 @@ def transpiler_test_impl(self):
264264
])
265265

266266

267+
class TestDecayedAdagrad(TranspilerTest):
268+
def net_conf(self):
269+
x = fluid.layers.data(name='x', shape=[1000], dtype='float32')
270+
y_predict = fluid.layers.fc(input=x,
271+
size=1000,
272+
act=None,
273+
param_attr=fluid.ParamAttr(name='fc_w'),
274+
bias_attr=fluid.ParamAttr(name='fc_b'))
275+
y = fluid.layers.data(name='y', shape=[1], dtype='float32')
276+
cost = fluid.layers.square_error_cost(input=y_predict, label=y)
277+
avg_cost = fluid.layers.mean(cost)
278+
opt = fluid.optimizer.DecayedAdagrad(learning_rate=0.1)
279+
opt.minimize(avg_cost)
280+
281+
def transpiler_test_impl(self):
282+
pserver, startup = self.get_pserver(self.pserver1_ep)
283+
trainer, _ = self.get_trainer()
284+
285+
267286
class TestLRDecayConditional(TranspilerTest):
268287
def net_conf(self):
269288
x = fluid.layers.data(name='x', shape=[1000], dtype='float32')

python/paddle/fluid/transpiler/distribute_transpiler.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1433,6 +1433,9 @@ def _get_optimizer_input_shape(self, op_type, varkey, orig_shape,
14331433
elif op_type == "rmsprop":
14341434
if varkey in ["Moment", "MeanSquare"]:
14351435
return param_shape
1436+
elif op_type == "decayed_adagrad":
1437+
if varkey == "Moment":
1438+
return param_shape
14361439
elif op_type == "sgd":
14371440
pass
14381441
return orig_shape

0 commit comments

Comments
 (0)