huggingface与modelscope基本使用方法
huggingface下载并加载模型的方式
使用from_pretrained()下载模型
-
第一步:在huggingface上找到想要下载的模型,建议使用huggingface镜像网站



-
第二步:在找到想要的模型后,需要为cmd或bash设置镜像链接,注意:这个是临时设置,终端关闭后需要重新设置
#window上的cmd
set HF_ENDPOINT=https://hf-mirror.com
#linux
export HF_ENDPOINT=https://hf-mirror.com
- 第三步:利用代码下载模型
注意:一定要在设置了镜像的终端环境中运行代码
from transformers import AutoModel, AutoTokenizer
#下载模型,并且缓存在bert_cache目录下
model_name = "google-bert/bert-base-uncased"
tokenizer = AutoTokenizer.from_pretrained(model_name,cache_dir='./bert_cache')
model = AutoModel.from_pretrained(model_name,cache_dir='./bert_cache')
# 手动保存模型到本地目录
model.save_pretrained("./bert_model")
tokenizer.save_pretrained("./bert_model")
- 第四步:加载模型
其实下载模型后一般不会重复下载,就可以直接使用模型了,但为了以防万一,避免重复下载,需要设置一些参数
from transformers import BertTokenizer, BertModel
#如果模型使用了手动保存的方式,保存在了在bert_model目录中,使用下面的加载方式
tokenizer = BertTokenizer.from_pretrained('bert_model')
model = BertModel.from_pretrained("bert_model")
#如果使用缓存则用以下方式:
#模型的名称要和下载时候一样
#model_name = "google-bert/bert-base-uncased"
#模型的加载需要指定cache_dir以及local_files_only
#tokenizer = AutoTokenizer.from_pretrained(model_name,cache_dir='./bert_cache',local_files_only=True)
#model = AutoModel.from_pretrained(model_name,cache_dir='./bert_cache',local_files_only=True)
#如果显示找不到,就直接在缓存路径里面找到类似于下面的这种形式,然后直接加载
# tokenizer = AutoTokenizer.from_pretrained(r'cache\models--gpt2\snapshots\607a30d783dfa663caf39e06633721c8d4cfcd7e')
# model = AutoModelForCausalLM.from_pretrained(r'cache\models--gpt2\snapshots\607a30d783dfa663caf39e06633721c8d4cfcd7e')
text = "Replace me by any text you'd like."
encoded_input = tokenizer(text, return_tensors='pt')
output = model(**encoded_input)
print(output)
手动下载模型


modelscope的基本使用方法
下载模型到指定目录
from modelscope.hub.snapshot_download import snapshot_download
# 指定模型ID(如达摩院的"damo/nlp_structbert_sentence-similarity_chinese-base")
model_id = "damo/nlp_structbert_sentence-similarity_chinese-base"
# 下载到指定目录(如 ./custom_models)
cache_dir = "模型缓存路径"
# 下载模型
model_dir = snapshot_download(
model_id,
cache_dir=cache_dir, # 指定下载目录
revision="master", # 可选:模型版本(默认最新)
)
print(f"模型已下载到:{model_dir}")

浙公网安备 33010602011771号