最近跑代码遇到了一个奇怪的问题,调了很久。各种方法都试了一遍
报错最后一句是
“If you tried to load a PyTorch model from a TF 2.0 checkpoint, please set from_tf=True.”
1、可能是权重文件损坏了,此时可以先使用代码进行验证,是的话下载新的权重即可
import torch
# 尝试加载单个文件
file_path = "权重文件路径"
try:
state_dict = torch.load(file_path)
print("File loaded successfully.")
except Exception as e:
print(f"Failed to load the file: {e}")
自动下载的模型文件损坏。(可与官网的对比,看看模型文件pytorch_model.bin的大小即可知道)。
解决办法:去huggingface官网里自行下载新的模型文件,并放进上述提示的文件路径中,覆盖原来的pytorch_model.bin。
2、版本问题
-
pytorch 版本升级到1.6.0 就可解决该问题。
-
transformer版本太低有可能也有问题
-
3、解决方法:
进入以下目录:(不同用户的路径可能不太一样)
/root/.cache/huggingface/transformers
找到报错的那个文件,我这里是:“c506559a5367a918bab46c39c79af91ab88846b49c8abd9d09e699ae067505c6.6365d436cc844f2f2b4885629b559d8ff0938ac484c01a6796538b2665de96c7”
这个文件下面分别有以.json和.lock结尾的文件,一共三个文件全部删了
再次运行代码会从huggingface上重新下载相关文件,然后就不会报错了。