Commit cba85a67 authored by thomwolf's avatar thomwolf
Browse files

fix nan in optimizer_on_cpu

parent 1de35b62
...@@ -687,11 +687,12 @@ def set_optimizer_params_grad(named_params_optimizer, named_params_model, test_n ...@@ -687,11 +687,12 @@ 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)
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