问题标签 [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 投票
1 回答
75 浏览

python - TypeError: 无法将 re.compile('[AZ]+') (re.Pattern) 转换为 Union[str, tokenizers.Regex]

我在将正则表达式应用于Split()HuggingFace 库中的操作时遇到问题。库请求以下输入Split()

pattern (str or Regex) -- 用于分割字符串的模式。通常是一个 string或一个Regex

在我的代码中,我正在应用这样的Split()操作:

但它不起作用,因为[A-Z]+它被解释为字符串而不是正则表达式。我使用以下方法无济于事:

收到以下错误:

TypeError: 无法将 re.compile('[AZ]+') (re.Pattern) 转换为 Union[str, tokenizers.Regex]

0 投票
1 回答
283 浏览

nlp - 我已经下载了 bert 预训练模型“bert-base-cased”。我无法在 BertTokenizer 的帮助下加载模型

我已经下载了 bert 预训练模型 'bert-base-cased. 我无法在 BertTokenizer 的帮助下加载模型。我正在尝试使用bert tokenizer。在 bert-pretrained-model 文件夹中,我有 config.json 和 pytorch_model.bin。

我面临着类似的错误

当我尝试使用 BertModel 加载时,它正在加载。但是当我尝试使用 BertTokenizer 时,它没有加载。

0 投票
0 回答
73 浏览

python - 当我尝试用拥抱的脸进行情绪分析时,我遇到了 BrokenPipeError

当我尝试用拥抱的脸进行情绪分析时,我遇到了 BrokenPipeError。它返回 [Error No] 32 Broken Pipe。

链接总代码' https://colab.research.google.com/drive/1wBXKa-gkbSPPk-o7XdwixcGk7gSHRMas?usp=sharing '

代码是

接下来是下面的代码

其次是

我遇到了这个“ data = next(iter(train_data_loader))”代码的错误

错误是BrokenPipeError: [Errno 32] Broken pipe

0 投票
1 回答
128 浏览

pytorch - 如何在训练 Huggingface Transformers (Pegasus) 模型的过程中防止 VRAM 不足?

我正在通过 Huggingface 转换器采用预先训练的 pegasus 模型(特别是google/pegasus-cnn_dailymail,我正在通过 Pytorch 使用 Huggingface 转换器),我想根据自己的数据对其进行微调。然而,这是一个相当大的数据集,我遇到了在训练中途耗尽 VRAM 的问题,因为数据集的大小可能在训练开始后几天,这使得试错方法非常低效。

我想知道如何提前确保它不会耗尽内存。我认为模型的内存使用量在某种程度上与输入的大小成正比,所以我已经将truncation=True, padding=True,传递max_length=1024给我的标记器,如果我的理解是正确的,应该使标记器的所有输出都相同每行的大小。考虑到批量大小也是一个常数,我认为使用中的 VRAM 量应该是稳定的。所以我应该能够将数据集切割成可管理的部分,只需查看第一次运行的 ram/vram 使用情况,并推断它会从头到尾平稳运行。

然而,事实似乎恰恰相反。我一直在观察任何时候使用的 VRAM 的数量,它可以变化很大,从一次 ~ 12GB 到突然需要超过 24GB 和崩溃(因为我没有超过 24GB)。

那么,如何确保在整个训练过程中使用的 vram 数量保持在合理范围内,并避免在训练过程中由于缺少 vram 而崩溃?

0 投票
1 回答
1056 浏览

bert-language-model - 如何将 SQuAD 数据中的标记索引映射到 BERT 标记器中的标记?

我正在使用 SQuaD 数据集来选择答案范围。使用 对BertTokenizer段落进行标记后,对于某些样本,答案的开始和结束索引不再与段落标记中的真实答案跨度位置匹配。如何解决这个问题呢?一种方法是相应地修改答案指数(也是训练目标)?但是怎么做呢?

0 投票
0 回答
344 浏览

python - 如何将微调模型的输出解码为文本?

我已经对机器翻译模型进行了微调,并且正在尝试加载在训练期间保存的 pytorch_model.bin 模型检查点并预测单词的翻译。如何从transformers.modeling_outputs.Seq2SeqModelOutput 转换为普通文本?

0 投票
1 回答
917 浏览

python - 标记和编码数据集使用太多 RAM

尝试对数据进行标记和编码以提供给神经网络。

我只有 25GB 的 RAM,每次我尝试在我的 google colab 崩溃下运行代码时。知道如何防止他的发生吗?“您的会话在使用所有可用 RAM 后崩溃”</p>

我认为标记/编码 50000 个句子的块会起作用,但不幸的是没有。该代码适用于长度为 130 万的数据集。当前数据集的长度为 500 万。

分词器来自 HuggingFace:

0 投票
1 回答
495 浏览

python - Huggingface 错误:AttributeError:“ByteLevelBPETokenizer”对象没有属性“pad_token_id”

我正在尝试使用WordLevel/BPE标记器标记一些数字字符串,创建数据整理器并最终在 PyTorch DataLoader 中使用它来从头开始训练新模型。

但是,我收到一个错误

AttributeError:“ByteLevelBPETokenizer”对象没有属性“pad_token_id”

运行以下代码时

这个错误是因为没有pad_token_id为分词器配置吗?如果是这样,我们该怎么做?

谢谢!

错误跟踪:

康达包

0 投票
0 回答
590 浏览

python - 如何用自己的话训练拥抱脸 GPT2Tokenizer?

Hugging Facetransformers库提供了一个GPT2Tokenizer已经预训练的分词器。但是,我想在使用GPT2Tokenizervocab_size. 这将用于从头开始训练另一种语言的 GPT 模型。

GPT2Tokenizer是否可以使用您自己的句子/单词列表重新训练?

尝试运行以下代码

但它给了我错误

AttributeError:“GPT2Tokenizer”对象没有属性“train_from_iterator”

在这种情况下使用的正确方法是什么?我正在使用transformers4.4.2 和tokenizers0.10.1。谢谢!

0 投票
1 回答
1623 浏览

python - 训练期间的 Huggingface 错误:AttributeError: 'str' object has no attribute 'size'

在尝试GPT2LMHeadModel使用 Pytorch Lightning 为休闲语言建模(给定一系列单词,预测下一个单词)微调 Huggingface 模型时,我在训练期间遇到错误:

AttributeError:“str”对象没有属性“size”

我们的训练代码出了什么问题?这是由于DataCollatorForLanguageModeling在 Pytorch 中的错误使用造成的DataLoader吗?

可重现的例子:

错误回溯:

康达包: