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

news2024/10/25 21:28:08

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

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

南邮-软件安全--第一次实验报告-非爆破计算校验值

软件安全第一次实验报告,切勿直接搬运(改改再交) 实验要求 1、逆向分析目标程序运行过程,找到程序的关键校验点; 2、以非爆破的方式正确计算crackme的校验值; 内容 使用x32dbg对文件进行分析 打开文件…

思迈特:在AI时代韧性增长的流量密码

作者 | 曾响铃 文 | 响铃说 “超级人工智能将在‘几千天内’降临。” 最近,OpenAI 公司 CEO 山姆奥特曼在社交媒体罕见发表长文,预言了这一点。之前,很多专家预测超级人工智能将在五年内到来,奥特曼的预期,可能让这…

构建可扩展的高校学科竞赛平台:SpringBoot案例分析

2相关技术 2.1 MYSQL数据库 MySQL是一个真正的多用户、多线程SQL数据库服务器。 是基于SQL的客户/服务器模式的关系数据库管理系统,它的有点有有功能强大、使用简单、管理方便、安全可靠性高、运行速度快、多线程、跨平台性、完全网络化、稳定性等,非常…

高效管理学科竞赛:SpringBoot平台的创新应用

1系统概述 1.1 研究背景 随着计算机技术的发展以及计算机网络的逐渐普及,互联网成为人们查找信息的重要场所,二十一世纪是信息的时代,所以信息的管理显得特别重要。因此,使用计算机来管理高校学科竞赛平台的相关信息成为必然。开发…

Zookeeper快速入门:部署服务、基本概念与操作

文章目录 一、部署服务1.下载与安装2.查看并修改配置文件3.启动 二、基本概念与操作1.节点类型特性总结使用场景示例查看节点查看节点数据 2.文件系统层次结构3.watcher 一、部署服务 1.下载与安装 下载: 一定要下载编译后的文件,后缀为bin.tar.gz w…

算法:525.连续数组

题目 链接:leetcode 思路分析(前缀和) 首先介绍一个小技巧 在处理二进制数组的时候,因为数组里面只有0和1,我们可以将所有的0变成-1 这个时候1和-1之间就可以产生很多抵消,有利于处理数组。 在该题中&am…

2.2.1 绘制Canvas路径 - 绘制线条

文章目录 1. 绘制线条2. 绘制具有不同结束线帽的线条3. 绘制向阳花图形 今天我们要一起探讨的是如何使用HTML5的Canvas元素来绘制各种图形。Canvas提供了一个强大的图形绘制API,使我们能够在网页上绘制出各种复杂的图形和动画。接下来,我将通过几个实战示…

从Naive RAG到Agentic RAG:基于Milvus构建Agentic RAG

检索增强生成(Retrieval-Augmented Generation, RAG)作为应用大模型落地的方案之一,通过让 LLM 获取上下文最新数据来解决 LLM 的局限性。典型的应用案例是基于公司特定的文档和知识库开发的聊天机器人,为公司内部人员快速检索内部…

如何在数仓中处理缓慢变化维度(SCD)

在数据仓库中,处理缓慢变化维度(SCD,Slowly Changing Dimension)是一个非常常见且重要的问题。为了保证数据的完整性和准确性,我们通常会采取不同的策略来处理维度表中的数据变化。SCD的核心解决方案是通过不同类型的历…

Run the FPGA VI 选项的作用

Run the FPGA VI 选项的作用是决定当主机 VI 运行时,FPGA VI 是否会自动运行。 具体作用: 勾选 “Run the FPGA VI”: 当主机 VI 执行时,如果 FPGA VI 没有正在运行,系统将自动启动并运行该 FPGA VI。 这可以确保 FPG…

使用Hugging Face中的BERT进行标题分类

使用Hugging Face中的BERT进行标题分类 前言相关介绍出处基本原理优点缺点 前提条件实验环境BERT进行标题分类准备数据集读取数据集划分数据集设置相关参数创建自己DataSet对象计算准确率定义预训练模型定义优化器训练模型保存模型测试模型 参考文献 前言 由于本人水平有限&…

视频文案提取

视频文案提取 通义听悟 🏆优点 自动提取音视频关键词、总结、提炼视频大纲、中英双字幕可以识别不同声音进行文案区分,还支持直接AI改写提取的文案旁边还有AI助手帮助你回答问题和对知识举一反三相关视频介绍👉原地封神!录音、…

拆解学习【反激-PD-氮化镓】(一)

小米67W桌面快充插座: 反激基本拓扑: 商用场景下,这个拓扑进行了如下优化: 1.Q22换成了氮化镓开关管,当然需要适配的能驱动氮化镓的控制芯片 2.D21二极管换成了MOS管。 3.由于是AC220V输入,设计了整流桥…

在Centos中安装、配置与使用atop监控工具

目录 前言1. atop工具的安装1.1 atop简介1.2 atop的安装步骤 2. 安装并配置netatop模块2.1 安装内核开发包2.2 安装所需依赖2.3 下载netatop2.4 解压并安装netatop2.5 启动netatop 3. atop的配置与使用3.1 配置监控周期与日志保留时间3.2 设置定时任务生成日志3.3 启动与查看at…

鸿蒙开发之ArkUI 界面篇 三十四 容器组件Tabs 自定义TabBar

如果需要修改Tabs的图标和文字之间的距离我们该怎么办呢?好在tabBar是联合类型,提供了自定义tabBar,这里就可以显示特殊图标或者是文字图片,如下图: 这里定义了myBuilder的函数,用了 来修饰,没有…

联合查询(详细篇)

实际开发中往往数据来自不同的表 所以需要多表联合查询 多表查询是对多张表的数据取笛卡尔积 笛卡尔积 什么是笛卡尔积呢? 简单来说 笛卡尔积是两个表的乘积 结果集中的每一行都是第一个表的每一行与第二个表的每一行的组合 简单理解: 假设有两个表…

复位电路的亚稳态

复位导致亚稳态的概念: 同步电路中,输入数据需要与时钟满足setup time和hold time才能进行数据的正常传输(数据在这个时间段内必须保持不变:1不能变为0,0也不能变为1),防止亚稳态; …

FPGA实现PCIE采集电脑端视频缩放后转千兆UDP网络输出,基于XDMA+PHY芯片架构,提供3套工程源码和技术支持

目录 1、前言工程概述免责声明 2、相关方案推荐我已有的PCIE方案我这里已有的以太网方案本博已有的FPGA图像缩放方案 3、PCIE基础知识扫描4、工程详细设计方案工程设计原理框图电脑端视频PCIE视频采集QT上位机XDMA配置及使用XDMA中断模块FDMA图像缓存纯Verilog图像缩放模块详解…

前端接口报500如何解决 | 发生的原因以及处理步骤

接口500,通常指的是服务器内部错误(Internal Server Error),是HTTP协议中的一个标准状态码。当服务器遇到无法处理的错误时,会返回这个状态码。这种错误可能涉及到服务器配置、服务器上的应用程序、服务器资源、数据库…

【畅捷通-注册安全分析报告】

前言 由于网站注册入口容易被黑客攻击,存在如下安全问题: 暴力破解密码,造成用户信息泄露短信盗刷的安全问题,影响业务及导致用户投诉带来经济损失,尤其是后付费客户,风险巨大,造成亏损无底洞…