问题标签 [huggingface-tokenizers]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
440 浏览

python - TFGPT2LMHeadModel 未知位置

我一直在玩 tensorflow (CPU) 和一些语言建模 - 到目前为止它一直很成功 - 一切都很好。
但是在看到我的旧 CPU 慢慢地从所有模型训练中被杀死之后 - 我决定是时候最终从我的 RTX 2080 中得到一些使用了。我一直在遵循华盛顿大学的指南:。很快我让 tensorflow-gpu 运行起来,在一些轻量级预测和类似的东西上运行它。

但是当我开始运行 GPT2 语言模型时,我遇到了一些小问题。我首先对数据进行标记:

上面的代码完美地工作并标记数据 - 就像使用 tensorflow (CPU) 一样。在对我的数据进行标记后,我开始训练我的模型 - 但在它开始之前,我得到以下 ImportError:

Transformers 包似乎已正确安装在 site-packages 库中,我似乎能够使用其他变压器 - 但不是TFGPT2LMHeadModel 我已经阅读了 google 和hugging.co上的所有内容- 尝试了不同版本的 tensorflow-gpu、变压器、标记器和许多其他软件包 - 遗憾的是没有任何帮助。

套餐:

  • 蟒蛇,3.7.1
  • 张量流 2.1.0
  • TensorFlow-GPU 2.1.0
  • 基于 TensorFlow 的 2.1.0
  • 张量流估计器 2.1.0
  • 变形金刚 4.2.2
  • 标记器 0.9.4
  • cudnn 7.6.5
  • cudatoolkit 10.1.243
0 投票
1 回答
118 浏览

encoding - 编码错误:用越南语从头开始训练 BERT

我遵循本教程如何使用 Transformers 和 Tokenizers 从头开始​​训练新的语言模型

在 Section 2. Train a tokenizer 中,通过我自己的越南文本数据进行训练后,我查看生成的 .vocab 文件,所有的标记都变成了这样:

有什么办法解决这个问题吗?

0 投票
2 回答
1879 浏览

split - 在 HuggingFace 标记器中:如何仅在空格上拆分序列?

我正在使用HuggingFaceDistilBertTokenizer的标记器。

我想通过在空间上简单地拆分来标记我的文本:

而不是默认行为,如下所示:

我阅读了他们关于Tokenization的文档以及专门关于BERT Tokenizer的文档,但找不到这个简单问题的答案:(

我假设它应该是加载 Tokenizer 时的参数,但我在参数列表中找不到它...

编辑:重现的最小代码示例:

0 投票
1 回答
2394 浏览

deep-learning - 在 GPU 上运行 huggingface Bert 分词器

我正在处理用于内容分类的巨大文本数据集。我已经实现了 distilbert 模型和 distilberttokenizer.from_pretrained() 标记器。这个标记器需要非常长的时间来标记我的文本数据,大约 7 分钟,只有 14k 记录,这是因为它在我的 CPU 上运行。

有什么方法可以强制标记器在我的 GPU 上运行。

0 投票
0 回答
608 浏览

python - 我应该创建一个 PyTorch 数据集来从 pyspark 数据框训练模型吗?

我想在列格式的训练数据上训练一个 PyTorch NLP 模型,我想用pyspark 数据框Dataset作为原始数据来构建一个 PyTorch(不确定它是不是正确的方法......)。

为了预处理文本,我使用了transformers库提供的分词器和tokenizing_UDF应用分词的函数。

然后将该Dataset对象馈送到 aDataLoader以训练 ML 模型。

我目前拥有的是这样的:

我目前调用.toPandas()以便我TokenizedDataset可以处理熊猫数据框。

这是一个明智的做法吗?如果是这样,我应该如何修改TokenizedDataset代码以直接处理 pyspark 数据帧?如果我偏离了轨道,我应该改用https://github.com/uber/petastorm吗?

0 投票
2 回答
1869 浏览

python - 如何取消 BERT 代币?

我有一个句子,我需要将 N BERT tokens 对应的文本返回到特定单词的左侧和右侧。

我想要的是在标记马德里的左侧和右侧获取对应于 4 个标记的文本。所以我想要令牌: ['Natural', 'Science', 'Museum', 'of', 'Madrid', 'shows', 'the', 'R', '##EC'] 然后将它们转换成原文。在这种情况下,它将是“马德里自然科学博物馆展示 REC”。

有没有办法做到这一点?

0 投票
1 回答
827 浏览

pytorch - HuggingFace - config.json 中的 GPT2 标记器配置

GPT2 微调模型上传到huggingface-models以进行推理

在推理过程中观察到以下错误,

无法使用 from_pretrained 加载标记器,请更新其配置:无法为“bala1802/model_1_test”加载标记器。确保: - “bala1802/model_1_test”是“https://huggingface.co/models”上列出的正确模型标识符 - 或“bala1802/model_1_test”是包含相关标记器文件的目录的正确路径

下面是 Finetuned huggingface 模型的配置 - config.json 文件,

我是否应该像"model_type": "gpt2"在 config.json 文件中一样配置 GPT2 Tokenizer

0 投票
0 回答
254 浏览

huggingface-transformers - 在转换器特征提取管道中启用截断

我正在使用这样的变压器 FeatureExtractionPipeline:

但是,似乎管道不使用截断来确保没有序列更长 4096,导致:

令牌索引序列长度大于此模型的指定最大序列长度 (8912 > 4096)。在模型中运行此序列将导致索引错误

有什么方法可以在管道中启用截断?或者是否有可能预先标记化然后将其输入管道?

0 投票
1 回答
1929 浏览

python - OSError:无法加载标记器

我想从头开始训练一个 XLNET 语言模型。首先,我训练了一个标记器,如下所示:

最后,我将在给定目录中有两个文件:

我为模型定义了以下配置:

现在,我想在转换器中重新创建我的标记器:

但是,会出现以下错误:

我应该怎么办?

0 投票
1 回答
1401 浏览

python-3.x - 在 python 中应用预训练的 facebook/bart-large-cnn 进行文本摘要

我的情况是,我正在使用抱脸变形金刚,并且对此有所了解。我正在使用 facebook/bart-large-cnn 模型为我的项目执行文本摘要,并且到目前为止我正在使用以下代码进行一些测试:

一小段代码实际上给了我一个很好的文本总结。但我的问题是,如何在我的数据框列之上应用相同的预训练模型。我的数据框如下所示:

.... 等等 50K 行

现在我想将预训练的模型应用于 col Text 以从中生成一个新列 df['summary'] ,生成的数据框应如下所示:

我怎样才能做到这一点?任何帮助将非常感激。