报错描述
我是在导入robert的tokenizer(即:运行代码:
tokenizer = RobertaTokenizer.from_pretrained(roberta_model)
# 其中,roberta_model是robert模型的路径
)时,报出了这一错误,
具体的报错信息如下所示:
Traceback (most recent call last):
File "C:/Users/xxx/PycharmProjects/QDGAT-master/qdgat/main.py", line 280, in <module>
main()
File "C:/Users/xxx/PycharmProjects/QDGAT-master/qdgat/main.py", line 252, in main
tokenizer = RobertaTokenizer.from_pretrained(roberta_model)
File "D:\Anaconda3\envs\pytorch-gpu-1.2.0\lib\site-packages\transformers\tokenization_utils_base.py", line 1787, in from_pretrained
**kwargs,
File "D:\Anaconda3\envs\pytorch-gpu-1.2.0\lib\site-packages\transformers\tokenization_utils_base.py", line 1915, in _from_pretrained
tokenizer = cls(*init_inputs, **init_kwargs)
File "D:\Anaconda3\envs\pytorch-gpu-1.2.0\lib\site-packages\transformers\models\roberta\tokenization_roberta.py", line 228, in __init__
with open(merges_file, encoding="utf-8") as merges_handle:
TypeError: expected str, bytes or os.PathLike object, not NoneType
报错原因分析及解决
首先,我以为是模型的路径写错了,结果在不断地尝试相对路径和绝对路径之后,我发现不是这一原因导致的报错。
然后我又查资料,感觉好像是模型下载过程中的问题,我又依稀记得之前下bert-base-uncased模型时好像直接从网页下载不行,必须要用lfs下,才能运行,然后我又再这一方面进行了不断地尝试,结果还是没能解决这一问题。
最后,我只好再看看这个报错信息,发现它提到了merges_file,同时我还发现完整的模型文件中好像有有关merges的文件,于是我就抱着试一试的心态把这个文件(merges.txt)下载下来,然后在运行,就成功了【惊喜!!!】
最后,附上我下载的所有模型文件的截图:
希望能够对大家有所帮助呀~~