fix regularizer when gradient is None

shanyi15-patch-2
qiaolongfei 7 years ago
parent 60314ee922
commit 2f1778868e

@ -44,6 +44,11 @@ def append_regularization_ops(parameters_and_grads, regularization=None):
"""
params_and_grads = []
for param, grad in parameters_and_grads:
# If no gradient then we don't need to do anything
if grad is None:
params_and_grads.append((param, grad))
continue
regularization_term = None
if param.regularizer is not None:
# Add variable for regularization term in grad block
@ -51,9 +56,8 @@ def append_regularization_ops(parameters_and_grads, regularization=None):
elif regularization is not None:
regularization_term = regularization(param, grad, grad.block)
# If no gradient or no regularization specified,
# then we don't need to do anything
if grad is None or regularization_term is None:
# If no regularization specified, then we don't need to do anything
if regularization_term is None:
params_and_grads.append((param, grad))
continue

Loading…
Cancel
Save