问题标签 [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.
huggingface-transformers - 使用数据集、标记器和火炬数据集和数据加载器进行动态标记化
我有一个关于“即时”标记化的问题。这个问题是通过阅读此处的“如何使用 Transformers 和 Tokenizers 从头开始训练新的语言模型”引发的。最后有这句话:“如果您的数据集非常大,您可以选择动态加载和标记示例,而不是作为预处理步骤”。datasets
我尝试提出一个将和结合起来的解决方案tokenizers
,但没有找到一个好的模式。
我想解决方案需要将数据集包装到 Pytorch 数据集中。
如何利用标记器的矢量化功能通过“即时”标记化来实现这一点?
python - 最大长度、填充和截断参数如何在 HuggingFace' BertTokenizerFast.from_pretrained('bert-base-uncased') 中工作?
我正在处理文本分类问题,我想使用 BERT 模型作为基础,然后是密集层。我想知道这 3 个论点是如何工作的?例如,如果我有 3 个句子为:
那么这三个论点会做什么呢?我的想法如下:
max_length=5
将严格保留长度为 5 的所有句子padding=max_length
将为第三句添加 1 的填充truncate=True
将截断第一句和第二句,使其长度严格为 5。
如果我错了,请纠正我。
下面是我使用过的代码。
python - 导入简单的变压器
尝试导入时遇到此错误simpletransformers
。
错误:
python - 微调 HuggingFace NLI 模型(RoBERTa/BART)时,损失为“nan”
我正在使用HuggingFaceynie/roberta-large-snli_mnli_fever_anli_R1_R2_R3-nli
的 Transformer 库,并尝试在大约 276.000 个假设-前提对的数据集上微调预训练的 NLI 模型 ( )。我正在按照此处和此处的文档中的说明进行操作。我的印象是微调有效(它进行训练并保存检查点),但trainer.train()
返回trainer.evaluate()
“nan”作为损失。
我试过的:
- 我尝试使用两者
ynie/roberta-large-snli_mnli_fever_anli_R1_R2_R3-nli
并facebook/bart-large-mnli
确保它没有链接到特定模型,但我得到了两个模型的问题 - 我尝试按照此相关 github 问题中的建议进行操作,但添加
num_labels=3
到配置文件并不能解决问题。(我认为我的问题有所不同,因为在我的案例中,模型已经在 NLI 上进行了微调) - 我尝试了许多不同的方法来更改我的输入数据,因为我怀疑我的输入数据可能存在问题,但我也无法以这种方式解决它。
- 问题的可能来源: 我在训练期间检查了模型的预测输出,奇怪的是预测值在 100% 的情况下似乎总是“0”(蕴含)(参见下面代码中的打印输出)。这显然是一个错误。我认为这是因为模型在训练期间似乎返回的 logits 是
torch.tensor([[np.nan, np.nan, np.nan]])
,当你应用.argmax(-1)
到这个时,你会得到 torch.tensor(0)。对我来说最大的谜团是为什么 logits 会变成“nan”,因为当我只在训练器之外使用相同的输入数据时,模型不会这样做。=> 有谁知道这个问题来自哪里?请参阅下面的代码。
非常感谢您的任何建议!
这是我的代码:
编辑: 我还打开了一个 github 问题,在此处对问题进行了更详细的描述:https ://github.com/huggingface/transformers/issues/9160
huggingface-transformers - 我想在拥抱脸管道中使用“grouped_entities”来完成 ner 任务,该怎么做?
我想在拥抱脸管道中使用“grouped_entities”来完成 ner 任务。但是这样做有问题。
我确实在 git 上查看了以下链接,但这没有帮助: https ://github.com/huggingface/transformers/pull/4987
multilingual - “使用bos_token,但尚未设置”是什么意思。
当我运行 demo.py
代码显示
使用 bos_token,但尚未设置。使用 eos_token,但尚未设置。 为什么要打印 bos_token?
huggingface-transformers - Huggingface MarianMT 翻译器会丢失内容,具体取决于模型
语境
我正在通过 Python 使用 MarianMT von Huggingface 将文本从源语言翻译成目标语言。
预期行为
我将一个序列输入到 MarianMT 模型中,然后将该序列翻译回来。为此,我使用了相应的语言模型和分词器。我输入的所有句子也都回来了。句子被视为一个序列。
当前行为
根据语言模型,模型不会翻译所有内容,而只会返回部分内容。在此示例中,缺少最后一句:
原文(德语): Ein Nilpferd lief im Dschungel rum und musste aufs WC。Da traf es einen Kakadu und fragte nach dem Weg。Der sagte wenn du Kaka musst, dann pass mal ganz kurz auf。Ich sag dir wo du hanghen musst,ich kenn mich hier gut aus。
结果(英文): 一头河马在丛林里跑来跑去,不得不上厕所。有一只凤头鹦鹉问路。他说,如果你非要卡卡,那就留心一分钟。我会告诉你你必须去哪里,我知道我在这里的路。
结果(荷兰语): Een nijlpaard liep rond in de Jungle en moest naar het 厕所... en kaketoe vroeg naar de weg... die zei dat als je Kaka moest, ik even moest oppassen。
当前代码
需要帮助
我想念什么?为什么缺少一些序列部分?
word-embedding - 在本地下载预训练的句子转换器模型
我正在使用 SentenceTransformers 库(此处:https : //pypi.org/project/sentence-transformers/#pretrained-models)使用预训练模型 bert-base-nli-mean-tokens 创建句子的嵌入。我有一个应用程序将部署到无法访问 Internet 的设备上。到这里,已经回答了,如何保存模型在本地下载预训练的BERT模型。然而,我坚持从本地保存的路径加载保存的模型。
当我尝试使用上述技术保存模型时,这些是输出文件:
当我尝试将其加载到内存中时,使用
我越来越
huggingface-transformers - 解析拥抱脸转换器的输出
我正在寻找使用bert-english-uncased-finetuned-pos
这里提到的变压器
我这样查询变压器...
但是outputs
即将发生这样的事情
(张量([[[-1.8196e+00, -1.9783e+00, -1.7416e+00, 1.2082e+00, -7.0337e-02, -7.0322e-03, 3.4300e-01, -9.6914e- 01, -1.3546e+00, 7.7266e-03, 3.7128e+00, -3.4061e-01, 4.8385e+00, -1.2548e+00, -5.1845e-01, 7.0140e-01, 1.0394e+00 ],
[-1.2702e+00, -1.5518e+00, -1.1553e+00, -4.4077e-01, -9.8661e-01, -3.2680e-01, -6.5338e-01, -3.9779e-01 , -7.5383e-01, -1.2677e+00, 9.6353e+00, 1.9938e-01, -1.0282e+00, -7.5071e-01, -1.0307e+00, -8.0589e-01, 4.2073e- 01],
[-9.6988e-01, -5.0090e-01, -1.3858e+00, -1.0554e+00, -1.4040e+00, -7.5977e-01, -7.4156e-01, 8.0594e+00 , -5.1854e-01, -1.9098e+00, -1.6362e-02, 1.0594e+00, -8.4962e-01, -1.7415e+00, -1.0628e+00, -1.7485e-01, -1.1490 e+00],
[-1.4368e+00, -1.6313e-01, -1.3202e+00, 8.7465e+00, -1.3782e+00, -9.8889e-01, -1.1371e+00, -1.0917e+00, -9.8495 e-01、-9.3237e-01、-9.6111e-01、-4.1658e-01、-7.3133e-01、-9.6004e-01、-9.5337e-01、3.1836e+00、-8.3462e-01 ],
[-7.9476e-01, -7.9640e-01, -9.0027e-01, -6.9506e-01, -8.9706e-01, -6.9383e-01, -3.1590e-01, 1.2390e+00, -1.0443e+00, -9.9977e-01, -8.8189e-01, 8.7941e+00, -9.9445e-01, -1.2076e+00, -1.1424e+00, -9.7801e-01, 5.6683e- 01],
[-8.2837e-01, -5.5060e-01, -2.1352e-01, -8.8721e-01, 9.5536e+00, 1.0478e+00, -5.6208e-01, -7.1037e-01, -7.0248e-01、1.1298e-01...
-7.3788e-01、4.3640e-03、1.6994e+00、1.1528e-01、-1.0983e+00、-8.9202e-01、-1.2869e+00、4.9141e+00、-6.2096e-01、 4.8374e+00, 3.2384e-01, 4.6213e-01],
[-1.3622e+00, 2.0772e+00, -1.6680e+00, -8.8679e-01, -8.6959e-01, -1.7468e+ 00, -1.1424e+00, 1.6996e+00, 3.5800e-01, -4.3927e-01, -3.6129e-01, -4.2220e-01, -1.7912e+00, 8.0154e-01, 7.4594e- 01, -1.0620e+00, 3.8152e+00],
[-1.2889e+00, -2.9379e-01, -1.6543e+00, -4.3326e-01, -2.4919e-01, -4.0112e-01 , -4.4255e-01, 2.2697e-01, -4.6042e-01, -3.7862e-03, -6.3061e-01, -1.3280e+00, 8.5533e+00, -4.6881e-01, 2.3882e+ 00, 2.4533e-01, -1.4095e-01],
[-9.5640e-01,-5.7213e-01,-1.0245e+00,-5.3566e-01,-1.5287e-01,-6.6977e-01,-5.3392e-01,-3.1967e-02,- 7.3077e-01、-3.1048e-01、-7.2973e-01、-3.1701e-01、1.0196e+01、-5.2346e-01、4.0820e-01、-2.1350e-01、1.0340e+00] ]], grad_fn=),)
但根据文档,我希望输出为 JSON 格式......
:“live”},{“entity_group”:“ADP”,“score”:0.999370276927948,“word”:“in”},{“entity_group”:“PROPN”,“score”:0.9987357258796692,“word”:“伯克利”},{“实体组”:“PUNCT”,“分数”:0.9996636509895325,“单词”:“,”},{“实体组”:“PROPN”,“分数”:0.9985638856887817,“单词”:“加利福尼亚” }, { "entity_group": "PUNCT", "score": 0.9996631145477295, "word": "." }] “score”:0.9987357258796692,“word”:“berkeley”},{“entity_group”:“PUNCT”,“score”:0.9996636509895325,“word”:“”},{“entity_group”:“PROPN”,“score” ": 0.9985638856887817, "word": "california" }, { "entity_group": "PUNCT", "score": 0.9996631145477295, "word": "." }] “score”:0.9987357258796692,“word”:“berkeley”},{“entity_group”:“PUNCT”,“score”:0.9996636509895325,“word”:“,},{“entity_group”:“PROPN”,“score” ": 0.9985638856887817, "word": "california" }, { "entity_group": "PUNCT", "score": 0.9996631145477295, "word": "." }] “分数”:0.9996631145477295,“单词”:“。” }] “分数”:0.9996631145477295,“单词”:“。” }]
What am I doing wrong? How can I parse the current output to the desired JSON output?