Windows下Donut训练遇SYMLINK/OSError:文件存在却提示缺失
问题描述
- 环境:Windows 11最新版本,conda虚拟环境,已开启Windows开发模式,以管理员身份启动Anaconda与CMD
- 操作流程:使用synthDOG工具生成语料,执行命令
python train.py --config config/base.yaml --exp_version "base",基于Donut训练新语言
错误日志
Traceback (most recent call last): File "C:\ProgramData\Anaconda3\envs\Donut\lib\site-packages\transformers\tokenization_utils_base.py", line 1958, in _from_pretrained tokenizer = cls(*init_inputs, **init_kwargs) File "C:\ProgramData\Anaconda3\envs\Donut\lib\site-packages\transformers\models\xlm_roberta\tokenization_xlm_roberta.py", line 168, in __init__ self.sp_model.Load(str(vocab_file)) File "C:\ProgramData\Anaconda3\envs\Donut\lib\site-packages\sentencepiece\__init__.py", line 905, in Load return self.LoadFromFile(model_file) File "C:\ProgramData\Anaconda3\envs\Donut\lib\site-packages\sentencepiece\__init__.py", line 310, in LoadFromFile return _sentencepiece.SentencePieceProcessor_LoadFromFile(self, arg) OSError: Not found: "C:\Users\me\.cache\models--naver-clova-ix--donut-base\snapshots\a959cf33c20e09215873e338299c900f57047c61\sentencepiece.bpe.model": No such file or directory Error #2 During handling of the above exception, another exception occurred: Traceback (most recent call last): File "C:\Users\me\Documents\Kontron\donut-master\train.py", line 149, in <module> train(config) File "C:\Users\me\Documents\Kontron\donut-master\train.py", line 57, in train model_module = DonutModelPLModule(config) File "C:\Users\me\Documents\Kontron\donut-master\lightning_module.py", line 30, in __init__ self.model = DonutModel.from_pretrained( File "C:\Users\me\Documents\Kontron\donut-master\donut\model.py", line 594, in from_pretrained model = super(DonutModel, cls).from_pretrained(pretrained_model_name_or_path, revision="official", *model_args, **kwargs) File "C:\ProgramData\Anaconda3\envs\Donut\lib\site-packages\transformers\modeling_utils.py", line 2498, in from_pretrained model = cls(config, *model_args, **model_kwargs) File "C:\Users\me\Documents\Kontron\donut-master\donut\model.py", line 390, in __init__ self.decoder = BARTDecoder( File "C:\Users\me\Documents\Kontron\donut-master\donut\model.py", line 159, in __init__ self.tokenizer = XLMRobertaTokenizer.from_pretrained( File "C:\ProgramData\Anaconda3\envs\Donut\lib\site-packages\transformers\tokenization_utils_base.py", line 1804, in from_pretrained return cls._from_pretrained( File "C:\ProgramData\Anaconda3\envs\Donut\lib\site-packages\transformers\tokenization_utils_base.py", line 1960, in _from_pretrained raise OSError( OSError: Unable to load vocabulary from file. Please check that the provided vocabulary is accessible and not corrupted.
已尝试操作及异常现象
- 默认运行时缓存路径存在斜杠混用问题,手动修改缓存后,下载的模型文件夹仅包含0KB的SYMLINK文件
- 手动添加所有模型文件后,路径仍不被程序识别(当前路径已无斜杠混用问题)
- 但将错误栈中的路径复制到Python
with open()命令中,却能正常打开对应文件
内容的提问来源于stack exchange,提问作者lte__
相关产品推荐
相关产品推荐

