Huggingface 保存标记器

2024-01-28

我正在尝试将标记生成器保存在 Huggingface 中,以便稍后可以从不需要访问互联网的容器中加载它。

BASE_MODEL = "distilbert-base-multilingual-cased"
tokenizer = AutoTokenizer.from_pretrained(BASE_MODEL)
tokenizer.save_vocabulary("./models/tokenizer/")
tokenizer2 = AutoTokenizer.from_pretrained("./models/tokenizer/")

然而,最后一行给出了错误:

OSError: Can't load config for './models/tokenizer3/'. Make sure that:

- './models/tokenizer3/' is a correct model identifier listed on 'https://huggingface.co/models'

- or './models/tokenizer3/' is the correct path to a directory containing a config.json file

变形金刚版本:3.1.0

如何从 Pytorch 中的预训练模型加载保存的分词器 https://stackoverflow.com/questions/58417374/how-to-load-the-saved-tokenizer-from-pretrained-model-in-pytorch不幸的是没有帮助。

Edit 1

感谢@ashwin 下面的回答,我尝试过save_pretrained相反,我收到以下错误:

OSError: Can't load config for './models/tokenizer/'. Make sure that:

- './models/tokenizer/' is a correct model identifier listed on 'https://huggingface.co/models'

- or './models/tokenizer/' is the correct path to a directory containing a config.json file

the contents of the tokenizer folder is below: enter image description here

我尝试重命名tokenizer_config.json to config.json然后我得到了错误:

ValueError: Unrecognized model in ./models/tokenizer/. Should have a `model_type` key in its config.json, or contain one of the following strings in its name: retribert, t5, mobilebert, distilbert, albert, camembert, xlm-roberta, pegasus, marian, mbart, bart, reformer, longformer, roberta, flaubert, bert, openai-gpt, gpt2, transfo-xl, xlnet, xlm, ctrl, electra, encoder-decoder

save_vocabulary(),仅保存分词器的词汇文件(BPE 分词列表)。

要保存整个分词器,您应该使用save_pretrained()

因此,如下:

BASE_MODEL = "distilbert-base-multilingual-cased"
tokenizer = AutoTokenizer.from_pretrained(BASE_MODEL)
tokenizer.save_pretrained("./models/tokenizer/")
tokenizer2 = DistilBertTokenizer.from_pretrained("./models/tokenizer/")

Edit:

由于某种未知的原因: 代替

tokenizer2 = AutoTokenizer.from_pretrained("./models/tokenizer/")

using

tokenizer2 = DistilBertTokenizer.from_pretrained("./models/tokenizer/")

works.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Huggingface 保存标记器 的相关文章

随机推荐

  • 变量声明与变量绑定相同吗?

    MDN 文档 https developer mozilla org en US docs Web JavaScript Reference Statements let状态 let 绑定是在包含的 块 范围的顶部创建的 该声明通常称为 吊
  • Matlab - 加速嵌套 For 循环

    一个简单的问题 但我不太擅长 MATLAB 我有向量x n 1 y 米 1 和w x y 我想定义M n m x 1 as M i x 中小于或等于 w i 的元素数量 w 已排序 这只是没有削减它 N n m M zeros N 1 fo
  • ARMv8 AArch32模式是否向后兼容armv4、armv5或armv6?

    众所周知 ARMv8 AArch32 位模式完全向后兼容 ARMv7 架构 并且ARMv7向后兼容ARMv4 ARMv5te和ARMv6 从上面的说法 我们可以说ARMv8 AArch32模式也向下兼容ARMv4 ARMv5te和ARMv6
  • 如何手动打开休眠会话?

    我有一个相当大的项目 涉及 spring 和 hibernate 现在 我正在将某些对象从休眠状态恢复到内存中 但我遇到了一些障碍 我有以下设置 A 类包含多个基元和一个 B 类 B 包含基元和一个 C 类 以前是惰性加载 现在我有这个 服
  • 如何阻止嵌套列表与父列表重叠?

    看这里 http jsfiddle net wHztz 67 http jsfiddle net wHztz 67 在此示例中 颜色是背景图像的占位符 我注意到当嵌套列表停止重叠时display block被移除自 innerLeft ul
  • 部署后 ASP.NET 网站看起来有所不同

    我已经用谷歌搜索了这个问题的答案 但还没有找到任何答案 也许我使用的搜索词太通用了 无论如何 这里是 我发现了网页设计和 ASP NET 的乐趣 也发现了尝试在 IE 和所有其他浏览器中以相同方式显示内容的噩梦 我正在 VS2010 中工作
  • 使用R语言进行冒泡排序?

    我是编程新手 刚刚开始学习R语言 我正在尝试进行冒泡排序 但它显示以下错误消息 谁能帮我解决这个问题吗 x lt sample 1 100 10 n lt length x example lt function x for i in 1
  • 如何只显示 1 条得分最低的记录?

    我只想显示 DL 列表中的 1 条记录 该记录具有所有 DL 中的最低分数 目前它正在显示所有记录 在 stackblitz 的示例中 您可以看到第一条记录的 DL 分数为 54 20 并已更新 我不想显示所有 3 条记录 而是只想显示 1
  • 缺少 Idlj 编译器 (Linux/JDK 11)

    找不到idlj编译工具 idl文件 已检查 usr bin and usr lib jvm java 11 jdk 它不是和JDK捆绑在一起的吗 如何添加idlj编译器 附 我更喜欢Python 不太使用Java 如果这是一个愚蠢的问题 我
  • 从 facebookomniauth 获取名字和姓氏字段

    我现在正在我的应用程序中实现omniauth 功能 一切正常 除了我无法从 Facebook 上获取名字和姓氏 这是我的模型代码 def self from omniauth auth user User where email auth
  • 在 Python 3 中未显式打开文件时处理从字节到字符串的转换

    我使用 Requests 模块进行授权 然后从 Web API 中提取 csv 内容 并使其在 Python 2 7 中正常运行 我现在想在 Python 3 5 中编写相同的脚本 但遇到一些问题 iterator should retur
  • 使用注释来注入依赖项是否会消除依赖项注入(外部配置)的主要好处?

    我正在使用 Spring 这是一个控制器 Controller public class PersonController Resource name PersonService private PersonService personSe
  • 如何以编程方式获得 Scenekit 关卡编辑器的优势

    我刚刚运行了一些测试 比较了加载 创建场景的不同方式的性能 以了解性能影响 该测试只是渲染一个 32x32 的立方体网格 并观察 CPU 使用率 内存 能源和渲染时间 不是很科学 但有一些明确的结果 这四项测试包括 Load a dae e
  • ItemTouchHelper:防止越界拖动

    我有一个带有 ItemTouchHelper 的回收器视图 它允许拖动项目 我想将拖动限制在回收器视图的边界内 即 您不能只将视图拖动到容器之外 从而使其消失 我尝试像这样检查绝对坐标 Override public void onChil
  • Java:计算时区差异

    如何在 Java 中获取特定日期和时区与 GMT 的时差 确定特定时区是否处于夏令时非常简单 boolean isIsraelInDST TimeZone getTimeZone Israel inDaylightTime new Date
  • 如何在extjs中的网格视图列中添加按钮?

    创建新行时 一个字段应包含一个在扩展 JS 中动态创建的按钮 Each button should contain different name and action listener The column should like give
  • Excel VBA 将项目添加到组合框而不重复项目

    我想将以下项目添加到组合框中 但如果有重复的项目 则只应添加一个 A 1 john 2 john 3 marry 4 marry 5 john 6 lisa 7 frank 8 marry 我希望组合框结果是john marry lisa
  • 使用特定方法控制XML序列化格式

    我有一个 DateTime 和一个子类 我想要专门针对 XML 序列化对其进行格式化 通常 在不指定任何内容的情况下 DateTime 的序列化只会遵循当前的区域性 但我希望 DateTime 以某种方式格式化 即使不可反序列化 子类也是如
  • Pip 无法再从 https 克隆 - 错误 128

    我有一个使用标准 https 克隆语法的项目已经有一段时间了 就在今天下午 它工作得很好 现在 我得到error code 128每次我尝试克隆时 Obtaining myproject from git git myurl myuser
  • Huggingface 保存标记器

    我正在尝试将标记生成器保存在 Huggingface 中 以便稍后可以从不需要访问互联网的容器中加载它 BASE MODEL distilbert base multilingual cased tokenizer AutoTokenize