问题:

OSError: Error no file named pytorch_model.bin, tf_model.h5, model.ckpt.index or flax_model.msgpack found in directory

出现过程:

使用transformers的Bertmodel时

问题代码:

model = Bertmodel.from_pretrained('bert_model')

问题原因:

下载的模型文件夹中没有pytorch_model.bin/tf_model.h5等文件,去原网址中查找也未发现相关文件。继而查看transformers官方使用说明:

from_pretrained(pretrained_model_name_or_path*model_args**kwargs)

即:如果是加载用save_pretrained保存过的模型,需要加入参数from_pt/from_tf和相应的config

解决方法:

# 模型文件夹中的config文件路径
config = BertConfig.from_json_file('./tf_model/my_tf_model_config.json')  
# 如果下载的是tensorflow模型,则from_tf=True;如果是pytorch模型,则参数设置改为from_pt=True
model = BertModel.from_pretrained('./tf_model/my_tf_checkpoint.ckpt.index', from_pt=True, config=config)  

发表回复