yeyupiaoling/Whisper-Finetune

训练到eval值的步数时报错:AttributeError: 'NoneType' object has no attribute 'get'

Closed this issue · 1 comments

当训练到eval_steps设定值的步数时,就会报错。AttributeError: 'NoneType' object has no attribute 'get'。请问该如何解决呢

Traceback (most recent call last):
File "E:\code\whisper\Whisper-Finetune-master\finetune.py", line 152, in
trainer.train(resume_from_checkpoint=args.resume_from_checkpoint)
File "D:\anaconda3\envs\TrainEnv\lib\site-packages\transformers\trainer.py", line 1624, in train
return inner_training_loop(
File "D:\anaconda3\envs\TrainEnv\lib\site-packages\transformers\trainer.py", line 2029, in _inner_training_loop
self._maybe_log_save_evaluate(tr_loss, grad_norm, model, trial, epoch, ignore_keys_for_eval)
File "D:\anaconda3\envs\TrainEnv\lib\site-packages\transformers\trainer.py", line 2412, in _maybe_log_save_evaluate
metrics = self.evaluate(ignore_keys=ignore_keys_for_eval)
File "D:\anaconda3\envs\TrainEnv\lib\site-packages\transformers\trainer_seq2seq.py", line 166, in evaluate
return super().evaluate(eval_dataset, ignore_keys=ignore_keys, metric_key_prefix=metric_key_prefix)
File "D:\anaconda3\envs\TrainEnv\lib\site-packages\transformers\trainer.py", line 3229, in evaluate
output = eval_loop(
File "D:\anaconda3\envs\TrainEnv\lib\site-packages\transformers\trainer.py", line 3418, in evaluation_loop
loss, logits, labels = self.prediction_step(model, inputs, prediction_loss_only, ignore_keys=ignore_keys)
File "D:\anaconda3\envs\TrainEnv\lib\site-packages\transformers\trainer_seq2seq.py", line 264, in prediction_step
return super().prediction_step(
File "D:\anaconda3\envs\TrainEnv\lib\site-packages\transformers\trainer.py", line 3588, in prediction_step
has_labels = False if len(self.label_names) == 0 else all(inputs.get(k) is not None for k in self.label_names)
File "D:\anaconda3\envs\TrainEnv\lib\site-packages\transformers\trainer.py", line 3588, in
has_labels = False if len(self.label_names) == 0 else all(inputs.get(k) is not None for k in self.label_names)
AttributeError: 'NoneType' object has no attribute 'get'
0%| | 5/5600 [00:31<9:54:41, 6.38s/it]

会不会是你没有测试数据,或者测试列表为空?