我们经常会使用到hugging face开源的transformers包,调用from_pretrained方法直接下载模型时,经常会下载很久甚至失败. 而且由于它自动将下载的模型保存至root/.cache/huggingface/transformers文件夹下,这不方便我们对模型进行备份。 为了解决这个问题,下面我们将实现“下载huggingface-transformers模型至本地,并使用from_pretrained方法加载”。

一、下载huggingface_hub包

pip install huggingface_hub

二、编写python脚本下载模型

比如我们现在想要下载google/vit-base-patch16-224transformers包,可以通过如下代码实现:

from huggingface_hub import snapshot_download

snapshot_download(repo_id="google/vit-base-patch16-224", allow_patterns=["*.json", "pytorch_model.bin", "vocab.txt"], local_dir="./my_model/")

其中,repo_id含义为模型在huggingface的路径,allow_patterns为你想要下载的文件(因为repo_id目录下文件很多,你可以通过此参数下载自己想要的文件),local_dir含义为模型保存在本地的路径。

Hugging Face官方也给出了使用工具下载模型的方法,链接地址

三、在代码中加载本地模型

模型下载到本地前,加载模型的方式为:

VIT_MODEL_NAME_OR_PATH = "google/vit-base-patch16-224"

model = VisionEncoderDecoderModel.from_pretrained(vision_encoder_decoder_model_name_or_path)

下载到本地后,我们就可以这样加载模型了:

vision_encoder_decoder_model_name_or_path = "./my_model/"

精彩文章

评论可见,请评论后查看内容,谢谢!!!
 您阅读本篇文章共花了: