谷歌-BERT-第一步:模型下载

1 需求

需求1:基于transformers库实现自动从Hugging Face下载模型

需求2:基于huggingface-hub库实现自动从Hugging Face下载模型

需求3:手动从Hugging Face下载模型


2 接口


3.1 需求1

示例一:下载到默认目录 

from transformers import BertModel, BertTokenizer

# 初始化分词器和模型
tokenizer = BertTokenizer.from_pretrained('bert-base-uncased')
model = BertModel.from_pretrained('bert-base-uncased')

# 现在您可以使用 tokenizer 和 model 进行推理或其他任务

示例二:下载到指定目录 

from transformers import BertModel, BertTokenizer

# 指定模型和分词器的名称
model_name = 'bert-base-uncased'

# 指定下载路径
cache_dir = './test3'

# 下载模型和分词器,并指定下载路径
model = BertModel.from_pretrained(model_name, cache_dir=cache_dir)
tokenizer = BertTokenizer.from_pretrained(model_name, cache_dir=cache_dir)

# 现在你可以使用模型和分词器进行推理或其他任务了
print("123")

3 .2 需求2

示例一:下载到默认目录  

from huggingface_hub import snapshot_download
 
snapshot_download(repo_id="bert-base-uncased")

示例二:下载到指定目录 

from huggingface_hub import snapshot_download

snapshot_download(repo_id="bert-base-chinese", local_dir="./test2", local_dir_use_symlinks=False)

3.3 需求3

手动导入模型和分词器

  • 模型权重文件:pytorch_model.bin 或 tf_model.h5
  • 模型配置文件:config.json
  • 分词器的词汇表文件:vocab.txt
  • 分词器配置文件:tokenizer.json、tokenizer_config.json

当手动下载 Hugging Face 模型时,通常需要以下类型的文件:

一、模型权重文件

  1. PyTorch 格式(.bin 或.pt)
    • 如果模型是基于 PyTorch 开发的,其权重文件通常以 .bin 或 .pt 格式存在。这些文件包含了模型的参数,例如神经网络的每层权重、偏置等信息。
    • 例如,对于一个预训练的 BERT 模型(PyTorch 版本),这些权重文件定义了模型如何将输入文本转换为有意义的表示。
  2. TensorFlow 格式(.h5 或.ckpt)
    • 对于基于 TensorFlow 的模型,可能会有 .h5 或者 .ckpt 格式的权重文件。.h5 文件是一种常见的保存 Keras(TensorFlow 后端)模型的格式,它可以包含模型的结构和权重信息。.ckpt 文件则是 TensorFlow 原生的检查点文件,主要用于保存模型在训练过程中的中间状态。

二、模型配置文件

  1. JSON 或 YAML 格式
    • 模型配置文件以 JSON 或 YAML 格式为主。这些文件描述了模型的架构,如模型的层数、每层的神经元数量、激活函数类型、输入输出形状等信息。
    • 以 GPT - 2 模型为例,其配置文件会指定模型是由多少个 Transformer 块组成,每个块中的头数量、隐藏层大小等关键架构参数。

三、分词器(Tokenizer)相关文件

  1. 词汇表文件(.txt 或.pkl 等)
    • 分词器用于将输入文本转换为模型能够处理的标记(tokens)。词汇表文件包含了模型所使用的所有词汇(对于基于单词的分词器)或者子词(对于基于子词的分词器,如 BPE、WordPiece 等)。
    • 例如,对于一个基于 BPE 算法的分词器,词汇表文件定义了模型能够识别的所有子词单元。这个文件可能是一个简单的文本文件(.txt),其中每行包含一个词汇或子词,也可能是经过序列化的 Python 对象(如 .pkl 文件,用于保存 Python 的字典等数据结构)。
  2. 分词器配置文件(JSON 或 YAML 格式)
    • 类似于模型配置文件,分词器配置文件描述了分词器的一些参数,如分词算法(BPE、WordPiece 等)、特殊标记(如开始标记、结束标记、填充标记等)的定义等。

具体需要下载哪些文件取决于模型的类型(如文本生成模型、图像分类模型等)、框架(PyTorch 或 TensorFlow 等)以及模型开发者所采用的存储和组织方式。

第一步

https://huggingface.co/

第二步

https://huggingface.co/models

第三步

https://huggingface.co/google-bert/bert-base-chinese

第四步

https://huggingface.co/google-bert/bert-base-chinese/tree/main

第五步 PyCharm手动添加模型和分词器


4 参考资料

huggingface下载模型文件(基础入门版)-CSDN博客

https://huggingface.co/docs/huggingface_hub/guides/download

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/892796.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

微带传输线 - 本征模 - Alpha 衰减常数与S21插损_CST软件案例

关于Beta之前的文章解释了很多,这期说说Alpha。α 是衰减常数(attenuation constant),表示波损耗,和S21插损相关,但这几个量很多人还是搞不清楚。 首先,S21和插损Insertion Loss严格上讲是不一…

Spring Boot与JavaWeb协同:在线考试系统的实现“

1系统概述 1.1 研究背景 随着计算机技术的发展以及计算机网络的逐渐普及,互联网成为人们查找信息的重要场所,二十一世纪是信息的时代,所以信息的管理显得特别重要。因此,使用计算机来管理基于JavaWeb技术的在线考试系统设计与实现…

请求参数中字符串的+变成了空格

前端请求 后端接收到的结果 在URL中,某些字符(包括空格、、&、? 等)需要被编码。具体而言,在URL中,空格通常被编码为 或 %20。因此,如果你在请求参数中使用 ,它会被解释为一个空格。 如果…

【C++贪心】2086. 喂食仓鼠的最小食物桶数|1622

本文涉及知识点 C贪心 LeetCode2086. 喂食仓鼠的最小食物桶数 给你一个下标从 0 开始的字符串 hamsters ,其中 hamsters[i] 要么是: ‘H’ 表示有一个仓鼠在下标 i ,或者’.’ 表示下标 i 是空的。 你将要在空的位置上添加一定数量的食物桶…

QUIC(Quick UDP Internet Connections)与 RTMP(Real Time Messaging Protocol)

QUIC(Quick UDP Internet Connections)和 RTMP(Real Time Messaging Protocol)是两种不同的网络传输协议,它们在一些方面有不同的特点和应用场景。 QUIC 协议 特点 基于 UDP:QUIC 建立在 UDP 之上&#xff…

unity静态批处理

unity静态批处理 静态批处理要求和兼容性渲染管线兼容性 使用静态批处理在构建时进行静态批处理在构建时执行静态批处理的步骤: 在运行时进行静态批处理性能影响 静态批处理 静态批处理是一种绘制调用批处理方法,它将不移动的网格组合在一起&#xff0c…

合并与变形

目录 合并 准备数据 append关键字 concat关键字 merge关键字 join关键字 变形 df.T行列转置 透视表 合并 很多情况下需要将多个df合并为一个新的df df1.append(df2) 纵向合并数据集 pd.concat([df1, df2, ...]) 横向或纵向合并数据集,df1和df2可以没有任何…

企业微信开放平台注册流程

目录 网址 注册步骤 准备工作 填写信息 微信认证 填写发票 支付费用 完成注册 网址 微信开放平台: https://open.weixin.qq.com/ 注册步骤 准备工作 企业版: 没有注册过微信其他平台(如:微信小程序,微信公众…

澳鹏干货 | 大语言模型的上下文窗口 (Context Windows)

大语言模型(LLMs)极大地提升了人工智能在理解和生成文本方面的能力。其中一个影响其效用的重要方面是“上下文窗口”(Context Windows)—— 这个概念直接影响着模型接收和生成语言的有效性。 本期澳鹏干货将深入探讨上下文窗口对…

【MySQL】增删改查-进阶(一)

目录 🌴数据库约束 🚩约束类型 🚩NOT NULL 🚩UNIQUE 🚩DEFAULT 🚩PRIMARY KEY 🚩FOREIGN KEY 🚩CHECK 🎄表的设计 🚩一对一 🚩一对多 …

JavaWeb合集07-MyBatis

七、MyBatis MyBatis是一款优秀的持久层(dao)框架,用于简化JDBC的开发。 MyBatis本是Apache的一个开源项目iBatis, 2010年这个项目由apache迁移到了google code,并且改名为MyBatis。2013年11月迁移到Github。 官网:https://mybati…

人工智能学习框架的探索与应用

✅作者简介:2022年博客新星 第八。热爱国学的Java后端开发者,修心和技术同步精进。 🍎个人主页:Java Fans的博客 🍊个人信条:不迁怒,不贰过。小知识,大智慧。 💞当前专栏…

Spark:DataFrame介绍及使用

1. DataFrame详解 DataFrame是基于RDD进行封装的结构化数据类型,增加了schema元数据,最终DataFrame类型在计算时,还是转为rdd计算。DataFrame的结构化数据有Row(行数据)和schema元数据构成。 Row 类型 表示一行数据 …

中文情感分析课程设计

中文情感分析 中文情感分析的实质是文本分类问题,本项目分别采用CNN和BI-LSTM两种模型解决文本分类任务,并用于情感分析,达到不错的效果。 两种模型在小数据集上训练,在验证集的准确率、号回率及F1因子均接近90% 项目设计的目标…

短链接能有多短?颠覆你的认知

在我们平时的网络活动中,经常会遇到需要将长链接缩短的情况。有细心的小伙伴会发现,平时收到的短信里面都会携带一个很短的链接,这就是将长链接缩短之后的效果。 缩短链接的主要目的有两个:一是使链接更加简洁美观;二…

基于SSM的网上拍卖平台

文未可获取一份本项目的java源码和数据库参考。 1. 选题背景 网络在人们的日常生活所占的比重越来越重,人们对网络信息的依赖性也越来越高。为用户提供良好的网络服务,可以给用户带来便捷的同时,也为网络服务开发商带来了客观的收益。当前&…

4-20mA采集卡 USB温度采集卡 USB热电偶采集 USB5601多功能采集卡

阿尔泰科技 型号:USB5601 概述: 产品外形图: 外形尺寸图: 主要指标: 8 路差分模拟量采集、8 路隔离数字量输入和 8 路隔离数字量输出 要了解更多技术和产品知识关注我吧!

最大公共子序列c++

最大公共子序列c 概念基本的概念 递归算法代码优化map基础优化代码 概念 基本的概念 子序列: 由原序列中若干个元素组成,元素可以不连续,但和原序列的顺序一致。最长公共子序列: 一个序列即是甲序列的子序列,也是乙序…

DNDC模型下载与安装;土壤碳储量;点尺度和区域尺度模拟;气象数据、土地数据、土壤数据处理、农田减排潜力分析、温室气体排放分析等

实现美丽中国建设目标,“双碳”行动将会发挥非常重要的作用。碳循环的精确模拟是实现“双碳”行动的关键。DNDC(Denitrification-Decomposition,反硝化-分解模型)是目前国际上最为成功的模拟生物地球化学循环的模型之一&#xff0…

spark:Structured Streaming介绍

文章目录 1. Structured Streaming介绍1.1 实时计算和离线计算1.1.1 实时计算1.1.2 离线计算 1.2 有界和无界数据 2. 简单使用3. 编程模型4. 数据处理流程4.1 读取数据Source4.1.1 文件数据处理 4.2 计算操作 Operation4.3 数据输出 Sink4.3.1 输出模式4.3.2 指定输出位置4.3.3…