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

embedded/2025/2/4 19:42:23/

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_downloadsnapshot_download(repo_id="bert-base-uncased")

示例二:下载到指定目录 

from huggingface_hub import snapshot_downloadsnapshot_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.ppmy.cn/embedded/127040.html

相关文章

【Windows】【DevOps】Windows Server 2022 安装ansible,基于powershell实现远程自动化运维部署 入门到放弃!

目标服务器安装openssh server参考 【Windows】【DevOps】Windows Server 2022 在线/离线 安装openssh实现ssh远程登陆powershell、scp文件拷贝-CSDN博客 注意:Ansible不支持Windows操作系统部署 根据官方说明: Windows Frequently Asked Questions —…

(全部习题答案)研究生英语读写教程基础级教师用书PDF

研究生英语读写教程(基础级) PDF下载(完整版下载) (1)研究生英语读写教程基础级教师用书PDF

数据结构编程实践20讲(Python版)—09B树

本文目录 09 B树(B-tree)S1 说明S2 示例S3 B树的应用Python代码应用1:文件系统索引应用2:数据库索引应用3:B树构建字典应用4:范围快速查询往期链接 01 数组02 链表03 栈04 队列05 二叉树06 二叉搜索树07 AVL树08 红黑树09 B树(B-tree) S1 说明 B树是一种自平衡的树数据结…

HTML 什么是块级元素?

1、在 HTML 中,元素通常分为两类 块级元素(Block Elements): 块级元素占据其父容器的全部宽度,即使内容不足以填满宽度。 块级元素从新的一行开始,并且会把它之后的元素推到下一行。行内元素(I…

构建高效购物推荐系统:SpringBoot实战

1系统概述 1.1 研究背景 如今互联网高速发展,网络遍布全球,通过互联网发布的消息能快而方便的传播到世界每个角落,并且互联网上能传播的信息也很广,比如文字、图片、声音、视频等。从而,这种种好处使得互联网成了信息传…

如何解决与kernel32.dll相关的常见错误:详细指南解析kernel32.dll文件缺失、损坏或错误加载问题

当你的电脑中出现错误kernel32.dll丢失的问题,会导致电脑不能出现正常运行,希望能够有效的帮助你有效的将丢失的kernel32.dll文件进行修复同时也给大家介绍一些关于kernel32.dll文件的相关介绍,希望能够有效的帮助你快速修复错误。 kernel32.…

三、ElementPlus下拉搜索加弹窗组件的封装

近期产品提出了一个需求,要求一个form的表单里面的一个组件既可以下拉模糊搜索,又可以弹窗搜索,我就为这个封装了一个组件,下面看效果图。 效果大家看到了,下面就看组件封装和实现方法 第一步,组件封装&…

【优选算法】(第三十六篇)

目录 ⼆叉树的锯⻮形层序遍历(medium) 题目解析 讲解算法原理 编写代码 ⼆叉树的最⼤宽度(medium) 题目解析 讲解算法原理 编写代码 ⼆叉树的锯⻮形层序遍历(medium) 题目解析 1.题目链接&#xf…