HuggingFace介绍

发布时间:2026/10/7 14:26:32

HuggingFace介绍 HuggingFace是一家技术公司他拥有一个著名的开源社区维护了几乎所有Transformer架构的开源模型和一系列强大的开源库和工具这些开源工作极大地简化了深度学习模型的开发、训练和部署过程。HuggingFace的社区非常活跃包括Meta、Google、DeepSeek、Ali Qwen等再内的超过5000家组织机构都在为HuggingFace开源社区贡献代码、数据集和模型这种开放的文化和协作精神使得HuggingFace成为了深度学习领域的GitHub。虽然HuggingFace的很多工具和代码都是开源、免费的但他也提供了一些商业服务和产品例如AutoNLP和Inference API这些服务可以帮助企业更容易地集成和部署NLP模型。网站https://huggingface.co/如何下载模型在HuggingFace上下载模型需要设置镜像需要设置环境变量export HF_ENDPOINThttps://hf-mirror.com也可以配置在代码里import os os.environ[HF_ENDPOINT]https://hf-mirror.com从Huggingface下载模型需要安装huggingface_hub库pip install -U huggingface_hub之后可以使用huggingface-cli download命令下载huggingface-cli download bert-based-chinese --resume-download --local-dir ${your_local_dir}或者使用python脚本下载from huggingface_hub import snapshot_download # 下载模型 snapshot_download(repo_idbert-base-chinese, local_dir/path/to/local/directory)如果在HuggingFace下载模型遇到困难也可以到魔搭社区 (modelscope) 去寻找对应的模型。首先需要安装modelscope:pip install -U modelscope可以通过modelscope hub下载模型from modelscope.hub.snapshot_download import snapshot_download # 下载模型到指定目录 model_dir snapshot_download(damo/nlp_xlmr_named-entity-recognition_viet-ecommerce-title, cache_dirpath/to/local/dir)或者通过命令行下载模型modelscope download --model damo/nlp_xlmr_named-entity-recognition_viet-ecommerce-title --local_dir path/to/local/dir主流的模型文件格式PyTorch bin文件是pyTorch模型权重的存储格式它是一种二进制文件用于保存PyTorch模型的参数。这种格式由PyTorch的torch.save方法生成并且可以通过torch.load方法加载。.onnx ONNX是一种开放的模型格式支持多种深度学习框架之间的模型转换和共享即可以将模型从一个框架导出然后在另一个框架中加载和使用。ONNX文件中包含了网络的计算拓扑结构因此ONNX Runtime可以直接加载ONNX文件进行推理无需额外的代码。.safetensors: 是HuggingFace开发的一种高效、安全且易于使用的深度学习模型存储格式专门用于存储和加载张量。Safetensors不包含可执行代码因此不会执行潜在的恶意代码。此外SafeTensors的加载速度快支持多种语言和平台是HuggingFace首选的模型文件格式。Transformers库介绍Transformers是HuggingFace开源的用于Transformer架构模型训练和推理的库。github地址GitHub - huggingface/transformers: Transformers: the model-definition framework for state-of-the-art machine learning models in text, vision, audio, and multimodal models, for both inference and training. · GitHub Transformers: the model-definition framework for state-of-the-art machine learning models in text, vision, audio, and multimodal models, for both inference and training. - GitHub - huggingface/transformers: Transformers: the model-definition framework for state-of-the-art machine learning models in text, vision, audio, and multimodal models, for both inference and training.https://github.com/huggingface/transformersHuggingFace网站上有Transformers的文档。1.Tokenizer文档https://huggingface.co/docs/transformers/main_classes/tokenizerTokenizer负责将文本转化为模型输入。Tokenizer需要做的事情包括将文本切分成token序列每个token用id来表示。在token序列中根据预训练模型的要求添加特殊token。2.AutoTokenizerAutoTokenizer用于自动加载与特定训练模型相关联的分词器 (tokenizer)。它能够根据模型的名称或路径自动识别并加载对应的分词器配置和词汇表文件使得用户无需手动指定分词器的具体类型从而简化了分词器的使用过程。从预训练模型名称加载分词器from transformers import AutoTokenizer # 指定预训练模型的名称 model_name bert-base-chinese # 自动加载对应的分词器 tokenizer AutoTokenizer.from_pretrained(model_name) # 使用分词器对文本进行编码 texts [梯度检查点Gradient Checkpointing在上述两种方式之间取了一个平衡。] encoded_input tokenizer(texts, return_tensorspt) print(encoded_input) # BertTokenizer同时可以输入两个句子 sentence1 梯度检查点Gradient Checkpointing在上述两种方式之间取了一个平衡。 sentence2 它通过在反向传播过程中重新计算某些输出的方式减少显存的使用量。 encoded_input tokenizer( textsentence1, text_pairsentence2, add_special_tokensTrue, # 添加[CLS]和[SEP] return_tensorpt #返回PyTorch Tensor )Tokenizer的主要接口tokenizer.encode: 将文本编码为标记ID列表encoded_ids tokenizer.encode(text) print(encoded_ids)tokenizer.encode_plus : 将文本编码为标记ID列表并返回额外的信息 (例如注意力掩码)encoded_plus tokenizer.encode_plus(text, return_tensorspt) print(encoded_plus)tokenizer.__call__: 支持对多个文本进行编码encoded tokenizer(text, return_tensorspt) print(encoded)tokenizer.decode : 将标记ID列表解码为原始文本decoded_text tokenizer.decode(encoded_ids, skip_special_tokensTrue) print(decoded_text)3.AutoModelAutoModel提供了一种自动加载预训练模型的机制。AutoModel及其子类能够根据模型名称自动加载相应的预训练模型架构和权重。以下是一些常见的AutoModel类类名描述AutoModel加载预训练的基础模型不包含任何特定任务的输出层AutoModelForCausalLM加载用于因果解码 LLM架构的模型AutoModelForMaskedLM加载用于MLM预训练任务的模型AutoModelForSeq2SeqLM加载适用于Seq2Seq任务的模型AutoModelForQuestionAnswering加载适用于问答任务的模型AutoModelForTokenClassification加载用于序列标注任务的模型AutoModelForSequenceClassification加载用于序列分类任务的模型以下是一个使用AutoModel的示例代码from transformers import AutoTokenizer, AutoModel # 指定模型名称 model_name bert-base-chinese # 加载 Tokenizer 和模型 tokenizer AutoTokenizer.from_pretrained(model_name) model AutoModel.from_pretrained(model_name) # 输入文本 input_text AutoModel是Hugging Face的Transformers库中的一个非常实用的类它属于自动模型选择的机制。 # 编码输入 inputs tokenizer(input_text, return_tensorspt) # 获取模型输出 with torch.no_grad(): outputs model(**inputs) # 获取最后一层隐藏状态 last_hidden_states outputs.last_hidden_state # 输出维度 print(fLast hidden state shape: {last_hidden_states.shape})
延伸阅读

更多相关文章

2026/10/7 14:26:32

TRAE SOLO 模式概览:从入门到实战,把 Base URL 改到 TaoToken

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/7 14:21:32

JSP企业人事管理系统:架构拆解、部署避坑与项目改造指南

简介:这是一份面向Java学习者和中小型公司的人事管理系统JSP项目源码包,基于JSP/Servlet与Struts风格的分层架构,覆盖人事管理常见业务场景,可作毕业设计参考、技术研究素材或小型项目二次开发原型。压缩包共229个文件&#xff0c…

2026/10/7 15:11:35

基于multisim的简易秒表计时器电路设计

任务3:简易秒表计时器 功能描述: 实现 00-59s 范围内的秒计时功能,采用两位十进制码管,分别显示秒的十位、秒的个位。设置三个独立功能按键:启动按键、暂停按键、复位按键。按下启动按键,秒表从当前数值开始…

2026/10/7 15:11:35

论文省心了!2026年实力出众的专业一键生成论文工具

2026年AI论文写作工具已从“辅助生成”升级为智能学术协作系统,核心评价维度包括文献真实性、格式合规性、长文本逻辑、查重降重、AIGC合规等。本文对市面上6款主流工具进行实测,覆盖中英文、全流程与专项功能、免费与付费版本,让你快速锁定最…

2026/10/7 15:11:35

测了9款AI写论文工具,真正适合学生的只有这一款

为什么要测这9款工具?最近不少同学问我:现在AI写论文工具这么多,到底哪个真的好用?为了帮大家避坑,我花了两周时间,把网上热门的9款AI写作工具都实际体验了一遍,从论文写作的真实需求出发&#…

2026/10/7 15:11:35

http与https学习

HTTP简介HTTP(HyperText Transfer Protocol,超文本传输协议)是一种应用非常广泛的应用层协议。简单来说,当我们在浏览器中输入一个网址(URL),浏览器就会给服务器发送一个HTTP请求,服…

2026/10/7 15:06:35

Spring Boot+Vue人事档案管理系统实战指南

简介:这是一套面向计算机专业本科生的毕业设计级人事档案管理系统实战项目,聚焦Spring Boot后端与Vue前端协同开发,解决中小型企业员工信息数字化管理痛点,适用于课程设计、期末大作业及Java全栈入门实践。资源包共242个文件&…

2026/10/5 6:32:56

Jev+Agent接管浏览器:browser-use实战与jev-ultrafast性能优化

1. 从“Jev”说起:为什么我要把Agent接进浏览器“Jev”这个词最近在圈子里出现的频率越来越高,很多人第一次听到会以为是某个新模型的名字,其实它更像是一种思路——把Jev模型的能力当作底座,通过Agent的方式去接管浏览器&#xf…

2026/10/7 8:18:33

多智能体集群实战:DeepAgents编排、MCP与A2A协议及Skills体系

1. 从"单兵作战"到"集群协同":多智能体编排到底在解决什么问题如果你最近在折腾 Agent 相关的东西,大概率会有一种感觉:单个 Agent 能做的事情,其实很快就摸到天花板了。你给它一个提示词,挂几个工…

2026/10/6 17:46:51

无源低通滤波器设计实战:从RC到LC,手把手教你避开那些坑

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/7 1:05:03

ESP32免重刷固件:浏览器直接修改NVS键值实现WiFi配置更新

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/7 1:05:03

SAP HANA查询结果导出CSV:避开乱码、性能与权限的实用指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/7 1:05:03

数字后端Placement阶段Density与Congestion控制实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑