Commit 02173a1a authored by thomwolf's avatar thomwolf
Browse files

fixing error in isnan test for optimizer_on_cpu & fp16

parent 8513741b
...@@ -688,11 +688,14 @@ def set_optimizer_params_grad(named_params_optimizer, named_params_model, test_n ...@@ -688,11 +688,14 @@ def set_optimizer_params_grad(named_params_optimizer, named_params_model, test_n
if name_opti != name_model: if name_opti != name_model:
logger.error("name_opti != name_model: {} {}".format(name_opti, name_model)) logger.error("name_opti != name_model: {} {}".format(name_opti, name_model))
raise ValueError raise ValueError
if test_nan and torch.isnan(param_model.grad).sum() > 0: if param_model.grad is not None:
is_nan = True if test_nan and torch.isnan(param_model.grad).sum() > 0:
if param_opti.grad is None: is_nan = True
param_opti.grad = torch.nn.Parameter(param_opti.data.new().resize_(*param_opti.data.size())) if param_opti.grad is None:
param_opti.grad.data.copy_(param_model.grad.data) param_opti.grad = torch.nn.Parameter(param_opti.data.new().resize_(*param_opti.data.size()))
param_opti.grad.data.copy_(param_model.grad.data)
else:
param_opti.grad = None
return is_nan return is_nan
def main(): def main():
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment