diff --git a/README.md b/README.md index 7273d87b..cb040c15 100644 --- a/README.md +++ b/README.md @@ -395,7 +395,7 @@ python run_squad.py \ --num_train_epochs 2.0 \ --max_seq_length 384 \ --doc_stride 128 \ - --output_dir ../debug_squad/ + --output_dir /tmp/debug_squad/ ``` Training with the previous hyper-parameters gave us the following results: diff --git a/examples/run_classifier.py b/examples/run_classifier.py index 93810764..91e269b8 100644 --- a/examples/run_classifier.py +++ b/examples/run_classifier.py @@ -327,11 +327,14 @@ def set_optimizer_params_grad(named_params_optimizer, named_params_model, test_n if name_opti != name_model: logger.error("name_opti != name_model: {} {}".format(name_opti, name_model)) raise ValueError - if test_nan and torch.isnan(param_model.grad).sum() > 0: - is_nan = True - if param_opti.grad is None: - param_opti.grad = torch.nn.Parameter(param_opti.data.new().resize_(*param_opti.data.size())) - param_opti.grad.data.copy_(param_model.grad.data) + if param_model.grad is not None: + if test_nan and torch.isnan(param_model.grad).sum() > 0: + is_nan = True + if param_opti.grad is None: + 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 def main(): diff --git a/examples/run_squad.py b/examples/run_squad.py index 45dbee29..518c15fe 100644 --- a/examples/run_squad.py +++ b/examples/run_squad.py @@ -693,6 +693,8 @@ def set_optimizer_params_grad(named_params_optimizer, named_params_model, test_n if param_opti.grad is None: 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 def main():