今天使用预训练模型BART中文摘要实验时,训练数据时,报了个错:
Bart is not a valid PaddingStrategy, please select one of ['longest', 'max_length', 'do_not_pad']
0%| | 0/40454 [00:00<?, ?it/s]Traceback (most recent call last):
File "C:\AppInstall2\PyCharm 2021.2\plugins\python\helpers\pydev\pydevd.py", line 1483, in _exec
pydev_imports.execfile(file, globals, locals) # execute the script
File "C:\AppInstall2\PyCharm 2021.2\plugins\python\helpers\pydev\_pydev_imps\_pydev_execfile.py", line 18, in execfile
exec(compile(contents+"\n", file, 'exec'), glob, loc)
File "H:/Pycharm_Workplace_experiment/News Summarization Experiment/test/BartOfChinese.py", line 299, in <module>
train_result = trainer.train()
File "E:\APPInstall2\anaconda\envs\base2\lib\site-packages\transformers\trainer.py", line 925, in train
for step, inputs in enumerate(epoch_iterator):
File "E:\APPInstall2\anaconda\envs\base2\lib\site-packages\torch\utils\data\dataloader.py", line 435, in __next__
data = self._next_data()
File "E:\APPInstall2\anaconda\envs\base2\lib\site-packages\torch\utils\data\dataloader.py", line 475, in _next_data
data = self._dataset_fetcher.fetch(index) # may raise StopIteration
File "E:\APPInstall2\anaconda\envs\base2\lib\site-packages\torch\utils\data\_utils\fetch.py", line 47, in fetch
return self.collate_fn(data)
File "E:\APPInstall2\anaconda\envs\base2\lib\site-packages\transformers\data\data_collator.py", line 280, in __call__
return_tensors="pt",
File "E:\APPInstall2\anaconda\envs\base2\lib\site-packages\transformers\tokenization_utils_base.py", line 2683, in pad
padding=padding, max_length=max_length, verbose=verbose
File "E:\APPInstall2\anaconda\envs\base2\lib\site-packages\transformers\tokenization_utils_base.py", line 2165, in _get_padding_truncation_strategies
padding_strategy = PaddingStrategy(padding)
File "E:\APPInstall2\anaconda\envs\base2\lib\enum.py", line 293, in __call__
return cls.__new__(cls, value)
File "E:\APPInstall2\anaconda\envs\base2\lib\enum.py", line 535, in __new__
return cls._missing_(value)
File "E:\APPInstall2\anaconda\envs\base2\lib\site-packages\transformers\tokenization_utils_base.py", line 146, in _missing_
% (value, cls.__name__, str(list(cls._value2member_map_.keys())))
ValueError: BartForConditionalGeneration(
(model): BartModel(
………
)
(lm_head): Linear(in_features=1024, out_features=21128, bias=False)
) is not a valid PaddingStrategy, please select one of ['longest', 'max_length', 'do_not_pad']
python-BaseException
0%| | 0/40454 [06:13<?, ?it/s]
Process finished with exit code 1
调试了很久都不行,最后手动修改了一下框架的源码可以了
修改后可以正常训练了