起因
在做nlp任务时,很多时候我们需要把模型下载到本地,然后在代码中指定路径去加载。遇到这种情况,我之前都是去huggingface上手动下载,一个一个点,感觉非常的麻烦。于是想办法能不能有个自动化下载的方法,查阅了很多发现都不怎么有用。于是问了chatgpt,有了答案。
解决方案
代码如下:
def download_hf_model_to_dir(model_name, save_dir):
"""
下载huggingface上的文件到本地文件
:param model_name: 指定模型文件名,huggingface上的名字 如 bert-base-uncased
:param save_dir: 存到本地的文件夹路径。
:return:
"""
from transformers import AutoModel, AutoTokenizer
model = AutoModel.from_pretrained(model_name)
tokenizer = AutoTokenizer.from_pretrained(model_name)
model.save_pretrained(save_dir)
tokenizer.save_pretrained(save_dir)
print(f"{model_name} 已经下载完毕,已保存至{save_dir}")