From 5d305070ec2954859c25711dd042f60ec1da4c10 Mon Sep 17 00:00:00 2001 From: qiaolongfei Date: Wed, 28 Feb 2018 16:35:42 +0800 Subject: [PATCH] parallel-do should not merge the gradient of parameter witch set stop_gradient=True --- python/paddle/fluid/layers/control_flow.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/python/paddle/fluid/layers/control_flow.py b/python/paddle/fluid/layers/control_flow.py index 1bb1aa30ee1..ff886185637 100644 --- a/python/paddle/fluid/layers/control_flow.py +++ b/python/paddle/fluid/layers/control_flow.py @@ -294,7 +294,8 @@ class ParallelDo(object): params = list(set(params)) - return [parent_block.var(name) for name in params] + param_list = [parent_block.var(name) for name in params] + return filter(lambda param: param.stop_gradient is False, param_list) def complete_op(self): main_program = self.helper.main_program -- GitLab