Merge pull request #1608 from focox/master

Error raised by "tmp_eval_loss += tmp_eval_loss.item()" when using multi-gpu
This commit is contained in:
Thomas Wolf
2019-10-30 17:14:07 +01:00
committed by GitHub

View File

@@ -212,6 +212,9 @@ def evaluate(args, model, tokenizer, labels, pad_token_label_id, mode, prefix=""
outputs = model(**inputs) outputs = model(**inputs)
tmp_eval_loss, logits = outputs[:2] tmp_eval_loss, logits = outputs[:2]
if args.n_gpu > 1:
tmp_eval_loss = tmp_eval_loss.mean() # mean() to average on multi-gpu parallel evaluating
eval_loss += tmp_eval_loss.item() eval_loss += tmp_eval_loss.item()
nb_eval_steps += 1 nb_eval_steps += 1
if preds is None: if preds is None: