Hugging Face介绍
Hugging Face 是一个专注于 自然语言处理(NLP) 和 机器学习(ML) 的开源平台,提供丰富的工具、预训练模型和数据集,旨在简化 AI 模型的开发、训练和部署流程。 Hugging Face 的核心产品是Transformers库,提供数千种预训练模型(如 BERT、GPT、T5等),支持文本分类、生成、翻译、图像生成等任务,支持 PyTorch、TensorFlow等多种框架。
Transformers官方文档:https://huggingface.co/docs/transformers/index(需要魔法)
基于Transformer的模型有很多,如下图列举了一些常见的模型:

其中每种模型通常有对应的处理器(Processor)和模型类(Model Class),不同任务的模型使用方式可能不同。通常而言,无论是处理文本、图像还是多模态任务,标准的流程通常是先用处理器(Processor)处理原始输入,将原始输入(文本、图像、音频等)转换为模型可理解的格式,再把处理后的数据输入模型(Model)进行计算,执行神经网络的推理或训练,最后用处理器对输出进行后处理。Processor 处理“人→机”转换,Model 处理“机→机”计算,这种分离设计使得代码更模块化、易维护,且能灵活适配不同任务。
调用下载transformers模型
这里以BLIP2模型的使用为例,首先import:
from transformers import Blip2Processor, Blip2ForConditionalGeneration
# Blip2Processor是处理器 Blip2ForConditionalGeneration是模型类
接着调用预训练模型:
BLIP2DICT = {
'FlanT5 XXL': 'Salesforce/blip2-flan-t5-xxl',
'FlanT5 XL COCO': 'Salesforce/blip2-flan-t5-xl-coco',
'OPT6.7B COCO': 'Salesforce/blip2-opt-6.7b-coco',
'OPT2.7B COCO': 'Salesforce/blip2-opt-2.7b-coco',
'FlanT5 XL': 'Salesforce/blip2-flan-t5-xl',
'OPT6.7B': 'Salesforce/blip2-opt-6.7b',
'OPT2.7B': 'Salesforce/blip2-opt-2.7b',
} # 这是BLIP2多种版本的模型字典
blip2_processor = Blip2Processor.from_pretrained(BLIP2DICT["OPT2.7B"])
blip2 = Blip2ForConditionalGeneration.from_pretrained(BLIP2DICT["OPT2.7B"])
from_pretrained() 有很多可选参数,主要列出三个:
1.torch_dtype表示模型权重和计算的数据类型,影响精度,torch.float32表示全精度,占用显存大,而torch.float16是半精度,适合大部分推理。
2.cache_dir可以自定义存储路径,不设置默认会检查本地缓存(Linux默认在 ~/.cache/huggingface/hub,Windows在C:\Users\username.cache\huggingface\hub),若没有缓存则自动从 Hugging Face Hub 下载模型。
3.device_map指定模型加载到哪个设备,例如{'': 'cuda:0'} 加载到单张 GPU
下附各种模型对应库名:

图片由ai生成,不保真,建议使用前看看文档
如何设置自定义路径
1.代码中临时覆盖
方法一:
如上文所述,可以在from_pretrained()参数中设置cache_dir自定义路径,例如:
blip2_processor = Blip2Processor.from_pretrained("Salesforce/blip2-opt-2.7b",cache_dir="D:\huggingface\hub")
方法二:
在导入任何Hugging Face库前写入,例如
import os
os.environ["HF_HOME"] = "D:\huggingface"
HF_HOME针对hugging face的下载,此外其他一些库默认的环境变量名和缓存路径如下表:

2.通过系统环境变量永久改变
Linux/MacOS:
# 打开配置文件
nano ~/.bashrc # 或 ~/.zshrc
# 添加以下行(替换为你的实际路径)
export HF_HOME="/path/to/custom_dir"
# 记得 CTRL+O+回车保存 CTRL+X退出
# 保存后生效
source ~/.bashrc
Windows:
在设置->高级系统设置->环境变量的用户/系统变量中加一个HF_HOME,变量值为自定义路径
4855

被折叠的 条评论
为什么被折叠?



