HuggingFace介绍

什么是HuggingFace?Huggingface 已是无法绕过的存在 Huggingface汇聚了众多最前沿的模型和数据集等有趣的成果,与强大的 transformers 库深度结合,也因transformers模型而闻名,为开发者提供了一个极为便捷的平台,使得大家能够快速上手学习和使用这些模型。这为广大研究者和开发者提供了宝贵的资源,无论是初学者想要尝试不同的模型架构,还是资深专家进行创新性的研究,都能在这里找到合适的模型起点。Huggingface 的 Docs 包含了各种模型算法等说明使用文档,无论是对模型原理的深入解释,还是实际使用中的参数设置和代码示例。 阅读详情

HuggingFace是一家技术公司,他拥有一个著名的开源社区,维护了几乎所有Transformer架构的开源模型和一系列强大的开源库和工具,这些开源工作极大地简化了深度学习模型的开发、训练和部署过程。

HuggingFace的社区非常活跃,包括Meta、Google、DeepSeek、Ali Qwen等再内的超过5000家组织机构都在为HuggingFace开源社区贡献代码、数据集和模型,这种开放的文化和协作精神使得HuggingFace成为了深度学习领域的GitHub。

虽然HuggingFace的很多工具和代码都是开源、免费的,但他也提供了一些商业服务和产品,例如AutoNLP和Inference API,这些服务可以帮助企业更容易地集成和部署NLP模型。

网站:https://huggingface.co/

如何下载模型

在HuggingFace上下载模型需要设置镜像,需要设置环境变量:

export HF_ENDPOINT=https://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_id="bert-base-chinese", local_dir="/path/to/local/directory")

如果在HuggingFace下载模型遇到困难,也可以到魔搭社区 (modelscope) 去寻找对应的模型。

魔搭社区:首页 - 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_dir='path/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/transformers

HuggingFace网站上有Transformers的文档。

或者从魔搭上下载:

跟进去了bert模型:

对应👇

test_transformers.py:

from transformers import AutoTokenizer, AutoModel
import torch

# 指定模型名称
model_name = "/Users/wangruonan/Documents/Code/SF130/深度学习/model/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_tensors="pt")
input_ids = inputs["input_ids"]
attention_mask = inputs['attention_mask']

# 获取模型输出
with torch.no_grad():
    outputs = model(input_ids, attention_mask=attention_mask)

# 获取最后一层隐藏状态
last_hidden_states = outputs.last_hidden_state

# 输出维度
print(f"Last hidden state shape: {last_hidden_states.shape}")

1.Tokenizer

文档:https://huggingface.co/docs/transformers/main_classes/tokenizer

Tokenizer负责将文本转化为模型输入。Tokenizer需要做的事情包括:

  • 将文本切分成token序列,每个token用id来表示。
  • 在token序列中根据预训练模型的要求添加特殊token。

2.AutoTokenizer

AutoTokenizer用于自动加载与特定训练模型相关联的分词器 (tokenizer)。它能够根据模型的名称或路径自动识别并加载对应的分词器配置和词汇表文件,使得用户无需手动指定分词器的具体类型,从而简化了分词器的使用过程。

从预训练模型名称加载分词器:

from transformers import AutoTokenizer

# 指定预训练模型的名称
model_name = "bert-base-chinese"

# 自动加载对应的分词器
tokenizer = AutoTokenizer.from_pretrained(model_name)

# 使用分词器对文本进行编码
texts = ["梯度检查点(Gradient Checkpointing)在上述两种方式之间取了一个平衡。"]
encoded_input = tokenizer(texts, return_tensors="pt")

print(encoded_input)

# BertTokenizer同时可以输入两个句子
sentence1 = "梯度检查点(Gradient Checkpointing)在上述两种方式之间取了一个平衡。"
sentence2 = "它通过在反向传播过程中重新计算某些输出的方式减少显存的使用量。"

encoded_input = tokenizer(
    text=sentence1,
    text_pair=sentence2,
    add_special_tokens=True,  # 添加[CLS]和[SEP]
    return_tensor="pt"        #返回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_tensors="pt")
print(encoded_plus)
  • tokenizer.__call__: 支持对多个文本进行编码

encoded = tokenizer(text, return_tensors="pt")
print(encoded)
  • tokenizer.decode : 将标记ID列表解码为原始文本

decoded_text = tokenizer.decode(encoded_ids, skip_special_tokens=True)
print(decoded_text)

3.AutoModel

AutoModel提供了一种自动加载预训练模型的机制。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_tensors="pt")

# 获取模型输出
with torch.no_grad():
    outputs = model(**inputs)

# 获取最后一层隐藏状态
last_hidden_states = outputs.last_hidden_state

# 输出维度
print(f"Last hidden state shape: {last_hidden_states.shape}")
Huggingface 超详细介绍 Hugging face 起初是一家总部位于纽约的聊天机器人初创服务商,他们本来打算创业做聊天机器人,然后在github上开源了一个Transformers库,虽然聊天机器人业务没搞起来,但是他们的这个库在机器学习社区迅速大火起来。目前已经共享了超100,000个预训练模型,10,000个数据集,变成了机器学习界的github。其之所以能够获得如此巨大的成功,一方面是让我们这些甲方企业的小白,尤其是入门者也能快速用得上科研大牛们训练出的超牛模型。 阅读详情

相关推荐

【Huggingface】如何访问Huggingface,Huggingface镜像

方法三:(非侵入式,能解决大部分情况)huggingface 提供的包会获取系统变量,所以可以使用通过设置变量来解决。方法一:使用huggingface 官方提供的 huggingface-cli 命令行工具。本站域名 hf-mirror.com,用于镜像 huggingface.co 域名。不过有些数据集有内置的下载脚本,那就需要手动改一下脚本内的地址来实现了。(3) 下载需要登录的模型(Gated Model)更多用法(多线程加速等)详见这篇文章。参数,token 获取具体参见上文。

q742971636的博客 9217

Huggingface的介绍,使用(优快云最强Huggingface入门手册)

Huggingface即是网站名也是其公司名,随着transformer浪潮,Huggingface逐步收纳了众多最前沿的模型和数据集等有趣的工作,与transformers库结合,可以快速使用学习这些模型。进入Huggingface网站,如下图所示。Models(模型),包括各种处理CV和NLP等任务的模型,上面模型都是可以免费获得Datasets(数据集),包括很多数据集Spaces(分享空间),包括社区空间下最新的一些有意思的分享,可以理解为huggingface朋友圈。

大模型天花板 7万+

2025数学建模美赛C题完整建模思路——奥运会奖牌榜的模型

2025数学建模美赛C题完整建模思路——奥运会奖牌榜的模型

Yilu264的博客 1万+

【Huggingface.co】关于huggingface.co连接超时的问题

1.使用everything搜索huggingface_hub文件夹并打开该文件夹下的constans.py。2.打开该文件进行配置,将其中的 https://huggingface.co修改成镜像网站如图。这种方式并不被推荐,因为很多模型都非常庞大,使用代理服务器下载可能会消耗大量的网络流量。如果出现模型正在加载的界面,就是配置成功了,我这里是模型下载完毕后的结果。这是因为在中国境内暂时无法访问Huggingface.co。修改成功后保存,然后测试一下。目前的解决方法有两种。

qq_54281424的博客 1万+

TMP112/TMP102温度传感器驱动开发与嵌入式实战

数字温度传感器是嵌入式系统环境感知的核心器件,其通过I²C等标准总线实现高精度、低功耗测温。原理上依赖ΔΣ模数转换与二进制补码数据格式,结合寄存器配置实现模式控制、阈值报警与功耗管理。技术价值体现在±0.5°C级精度、1μA级静态电流及SOT-563超小封装带来的系统集成优势。广泛应用于工业MCU热监控、电池物联网终端、医疗电子温度补偿及汽车ECU板级测温等场景。本文围绕TMP112/TMP102展开,深入解析寄存器协议、硬件接口约束、HAL驱动分层设计、FreeRTOS任务调度及生产级校准方法,覆盖从芯片

weixin_35756690的博客 674

ubuntu18.04安装Nvidia显卡驱动后黑屏及网络、蓝牙驱动消失的解决方案

ubuntu18.04安装Nvidia显卡驱动后黑屏及网络、蓝牙驱动消失的解决方案

weixin_40735291的博客 6614

HuggingFace快速入门

和 Github 类似,都是Hub(社区)。Hugging Face可以说的上是机器学习界的Github。

chengxuyuanyy的博客 1万+

通信算法之325:无人机云哨协议及发射机接收机仿真算法

【代码】通信算法之325:无人机云哨物理层协议及发射机接收机仿真代码。

leegang12的专栏 362

Huggingface 的介绍,使用

然后打开刚才的 ChatGLM2-6B 里的 web_demo.py,修改里面的模型和 AutoTokenizer 目录,为刚才 git 模型的目录,例如我在。#下面这种方式可以自动加载 bert-base-uncased 中使用的模型(包括了输出部分),有最后的全连接输出层。Spaces(分享空间),包括社区空间下最新的一些有意思的分享,可以理解为 huggingface 朋友圈。Models(模型),包括各种处理 CV 和 NLP 等任务的模型,上面模型都是可以免费获得。

weixin_43802726的博客 1329

YOLO26改进策略【YOLO和Mamba】| CVPR 2025:EfficientViM 压缩隐藏状态空间进行通道混合、单头设计减少内存操作,提升目标检测效率与精度

本文记录的是利用模块优化的目标检测网络模型。EfficientViM Block(基于隐藏状态混合器的状态空间对偶性模块) 的设计旨在,提升特征提取效率,同时兼顾全局依赖捕捉与局部细节保留。本文将深入研究的原理,并将其应用到中,通过重构特征提取流程、减少内存绑定操作、融合多阶段特征,增强模型在资源受限环境下的检测性能与速度。EfficientViM: Efficient Vision Mamba with Hidden State Mixer based State Space DualityEfficie

Limiiiing的博客 395

YOLOv11改进策略【Head】| AFPN渐进式自适应特征金字塔,增加针对小目标的检测头(附模块详解和完整配置步骤)

一、本文介绍 本文利用AFPN对YOLOv11的网络模型进行优化提升。AFPN采用渐近式融合及自适应空间融合操作。通过渐近式架构,逐步整合不同层级特征,有效避免非相邻层级间因语义差距过大导致的信息丢失或降级问题,确保在多尺度特征融合过程中既能保留高层语义信息,又能融入低层细节特征。本文将AFPN应用于YOLOv11中,并配置了针对小目标的检测头,能显著增强模型对不同尺度目标的检测能力,使其在复杂场景下更聚焦于目标物体特征,减少背景等无关信息的影响。 专栏目录:YOLOv11改进目录一览 | 涉及卷积层、

Limiiiing的博客 2717

第二章 HuggingFace数据集使用介绍

点击某个数据集可以看到详细介绍 ,数据集多以英语为主。

u010295555的博客 1万+

【MeshLib & VTK】MeshLib PK VTK

本文分享三维几何处理库MeshLib,并将其与VTK进行对比,希望对各位小伙伴有所帮助!

qq_40041064的博客 1068

HuggingFace CLI 命令全面指南

通过设置HF_HOME环境变量,可以指定 HuggingFace 工具链的缓存目录。默认情况下,缓存目录位于。在使用 HuggingFace CLI 下载文件时,默认情况下文件会被下载到由HF_HOME环境变量定义的缓存目录中。然而,有时用户可能希望将文件下载到特定的本地目录,以便更好地管理和使用这些文件。为此,HuggingFace CLI 提供了选项,允许用户指定自定义的下载路径。浏览器网页下载是最直接的下载方式,适用于小文件或不需要频繁下载的场景。

全世界的博客 4万+

利用GAT(图论分析工具箱)构建并分析大脑结构协变网络学习笔记

前言 前面我学习了利用DTI构建白质纤维脑网络,并采用GRETNA计算了小世界网络属性。阅读文献发现可以利用灰质体积或皮层指标(皮层厚度、折叠指数、沟深)等构建结构协变网络再进行网络拓扑属性的计算。因此,我采用前面提取的灰质体积和皮质数据进行了结构协变网络分析,特此写下笔记以便后面的学习。 一、数据准备 二、构建结构协变网络 三、全局属性的统计分析 四、局部属性的统计分析 五、网络攻击分析 六、度的分布 ..................

weixin_52073820的博客 7495

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

用huggingface_hub实现优雅快速的HuggingFace模型下载

使用transformers库下载huggingface模型时,会遇到网络无法访问网站的问题。因此,这里记录一种HuggingFace官方提供的命令行工具:huggingface-cli,实现快速的模型下载。

我的技术栈碎碎念空间 2672

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

huggingface_hub CLI

一、关于 CLI 二、开始工作 1、pip 安装 2、其他安装方式 1)使用pkgx 2)使用 Homebrew 三、huggingface-cli login 四、huggingface-cli whoami 五、huggingface-cli logout 注销 六、huggingface-cli download 下载 1、下载单个文件 2、下载整个存储库 3、下载多个文件 4、下载数据集或空间 5、下载特定版本 6、下载到本地文件夹 7、指定缓存目录 8、指定token 9、静音模式 10、下载超

AI工程化、开源分享、文档翻译、代码笔记 4073

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

Huggingface 的介绍使用

Huggingface 即是网站名也是其公司名,随着浪潮逐步收纳了众多最前沿的模型和数据集等有趣的工作,与 transformers库结合,可以快速使用学习这些模型。目前提到 NLP 必然绕不开 Huggingface。

weixin_43966908的博客 2004

Huggingface简单介绍

记住,以上只是基本流程概述,实际微调过程中还需要处理诸如数据预处理、超参数调整、训练循环设置等一系列工作,具体细节取决于所使用的深度学习框架和任务需求。在Hugging Face Datasets库中查找数据集不需要直接在网页界面上操作,而是通过Python编程实现。很抱歉,由于我的上下文受限于文字交互,无法直接展示网页界面操作。同样,在本地环境中通过编程方式操作,而不是在网页界面上。,在那里你可以搜索和查看数据集的结构、大小以及如何在代码中引用它们。上述代码首先列出所有可加载的数据集,然后通过。

pumpkin84514的博客 1340

Huggingface 镜像站

Huggingface 镜像站

发呆的比目鱼的博客 9287

Huggingface的介绍与快速入门

进入Huggingface网站,如下图所示Models(模型),包括各种处理CV和NLP等任务的模型,上面模型都是可以免费获-得 Datasets(数据集),包括很多数据集Spaces(分享空间),包括社区空间下最新的一些有意思的分享,可以理解为huggingface朋友圈Docs(文档,各种模型算法文档),包括各种模型算法等说明使用文档 Solutions(解决方案,体验等),包括othersPricing。

m0_52784465的博客 2396

huggingface-cli从Huggingface上下载Dataset

默认会下载到.cache文件夹,我平时并不是很习惯管理默认的在opt下.cache目录,因此我常常会加上一个cache目录的参数(./myspace/dataset换成你自己的存储目录)按照下面的提示,需要输入haggingface下的access token,这个需要再huggingface的也没我的下面,点击access token功能菜单。有很多种从huggingface上下载dataset的办法,我比较喜欢使用haggngface cli。下载Dataset,可以使用如下命令。

Criss@陈磊 817

在服务器中下载huggingface模型,解决huggingface无法连接

在使用远程服务器的时候(远程服务器平台:BuluAI),没办法连接huggingface网站并下载模型。

kkkkkkkkkasey的博客 1285

Huggingface下载含泪总结

Huggingface下载总结

m0_53978900的博客 1506

huggingface笔记

~/.cache/huggingface

zh515858237的专栏 714
上一篇: Transformer Encoder Block
下一篇: BERT预训练模型(Encoder-Only架构)
Doraemon^~^
博客等级 码龄6年 106粉丝 401原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值