问题标签 [huggingface-transformers]

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 回答
724 浏览

windows - windows spyder 运行 py 文件时出现无效语法错误

我正在尝试从页面运行最后一个示例。我已经克隆了目录中的存储库C:/Users/nn/Desktop/BERT/transformers-master。我在 Windows 机器上并使用 spyder IDE。为什么我会得到以下错误,我该如何解决?如何输入诗歌的开头部分?

我去了命令提示符并在下面尝试

什么都没发生 :(

当我尝试使用 python 命令执行相同操作时,出现如下错误:(

####更新2 ------------------

我遵循了评论中的建议,它奏效了。代码似乎下载了3个文件。

  1. 我可以手动复制这些文件,这样我就不必每次都依赖于在临时文件夹中下载它们吗?
  2. 我应该在哪里存储这些文件?哪个文件夹位置?它会C:\Users\nnn\Desktop\BERT\transformers-master\examples- 与run_generation.py文件相同吗?

abc

0 投票
1 回答
352 浏览

machine-learning - 使用 huggingface 的 distilbert 模型生成文本

一段时间以来,我一直在为 huggingface 的 DistilBERT 模型苦苦挣扎,因为文档似乎非常不清楚及其示例(例如https://github.com/huggingface/transformers/blob/master/notebooks/Comparing-TF-and-PT -models-MLM-NSP.ipynbhttps://github.com/huggingface/transformers/tree/master/examples/distillation)非常厚,他们展示的东西似乎没有很好的记录。

我想知道这里是否有人有任何经验并且知道一些很好的代码示例,用于他们模型的基本 in-python 使用。即:

  • 如何正确地将模型的输出解码为实际文本(无论我如何改变它的形状,标记器似乎都愿意对其进行解码并且总是产生一些[UNK]标记序列)

  • 如何实际使用他们的调度器+优化器来训练一个简单的文本到文本任务的模型。

0 投票
1 回答
821 浏览

nlp - 如何使用 Transformers 库从 XLNet 的输出中获取单词

我正在使用 Hugging Face 的 Transformer 库来处理不同的 NLP 模型。以下代码使用 XLNet 进行屏蔽。它输出一个带有数字的张量。如何再次将输出转换为单词?

我得到的当前输出是:

张量([[[ -5.1466, -17.3758, -17.3392, ..., -12.2839, -12.6421, -12.4505]]], grad_fn=AddBackward0)

0 投票
2 回答
3310 浏览

python - 获取 MASK 位置的多标记词的概率

根据语言模型获得令牌的概率相对容易,如下面的片段所示。您可以获取模型的输出,将自己限制在掩码标记的输出中,然后在输出向量中找到您请求的标记的概率。然而,这只适用于单标记词,例如,它们本身就在标记器的词汇表中。当词汇表中不存在一个词时,分词器会将其分块成它确实知道的部分(参见示例的底部)。但是由于输入句子只包含一个被掩蔽的位置,而请求的 token 有更多的 token,我们如何才能得到它的概率呢?最终,我正在寻找一种不管单词有多少子词单元都可以工作的解决方案。

在下面的代码中,我添加了许多注释来解释发生了什么,以及打印出打印语句的给定输出。您会看到预测诸如“爱”和“恨”之类的标记很简单,因为它们在标记器的词汇表中。但是,'reprimand' 不是,所以它不能在单个掩码位置被预测——它由三个子词单元组成。那么我们如何预测蒙面位置的“谴责”呢?

0 投票
2 回答
1458 浏览

transformer - Huggingface 变形金刚 - AttributeError:“MrpcProcessor”对象没有属性“tfds_map”

在 GLUE 任务上使用 Hugginface Transformers 时,出现错误AttributeError: 'MrpcProcessor' object has no attribute 'tfds_map'

我怀疑兼容性问题。

0 投票
1 回答
445 浏览

python - 为什么要在虚拟环境中安装(拥抱脸)Transformers 库?

拥抱脸 github上写着:

您应该在虚拟环境中安装 Transformers。如果您不熟悉 Python 虚拟环境,请查看用户指南。

使用您要使用的 Python 版本创建一个虚拟环境并激活它。

现在,如果你想使用 Transformers,你可以用 pip 安装它。如果您想使用这些示例,则必须从源代码安装它。

为什么要安装在虚拟python环境中?这样做而不是按原样将其安装在 python 上有什么好处?

0 投票
1 回答
1538 浏览

python - 使用 Bert(拥抱脸)分类器保存 tf.keras 模型时遇到问题

我正在训练一个使用 Bert(拥抱脸)的二元分类器。该模型如下所示:

在对我的分类任务进行微调之后,我想保存模型。

然而,这会引发 NotImplementedError:

我知道 huggingface 为 TFBertModel 提供了一个 model.save_pretrained() 方法,但我更喜欢将它包装在 tf.keras.Model 中,因为我计划向这个网络添加其他组件/功能。任何人都可以提出保存当前模型的解决方案吗?

0 投票
1 回答
16276 浏览

python - BERT 标记器和模型下载

我是初学者..我正在和伯特一起工作。但是由于公司网络的安全问题,下面的代码并没有直接接收到bert模型。

所以我想我必须下载这些文件并手动输入位置。但我是新手,我想知道从 github 下载 .py 之类的格式并将其放在某个位置是否简单。

我目前使用的是抱脸的pytorch实现的bert模型,找到的源文件地址是:

https://github.com/huggingface/transformers

请让我知道我认为的方法是否正确,如果正确,要获取什么文件。

提前感谢您的评论。

0 投票
1 回答
5817 浏览

pytorch - torch.distributed.barrier() 是如何工作的

我已经阅读了我能找到的关于 torch.distributed.barrier() 的所有文档,但仍然无法理解它是如何在这个脚本中使用的,并且非常感谢一些帮助。

因此,torch.distributed.barrier 的官方文档说它“同步所有进程。这个集体阻止进程,直到整个组进入这个函数,如果 async_op 为 False,或者如果在 wait() 上调用异步工作句柄。”

它在脚本中的两个地方使用:

第一名

第二个地方

我无法将代码中的注释与官方文档中所述的此函数的功能联系起来。它如何确保只有第一个进程在两次调用 torch.distributed.barrier() 之间执行代码,为什么它只在第二次调用之前检查本地排名是否为 0?

提前致谢!

0 投票
0 回答
1212 浏览

google-cloud-platform - Huggingface Bert TPU 微调适用于 Colab,但不适用于 GCP

我正在尝试在 TPU 上微调 Huggingface 转换器 BERT 模型。它在 Colab 中工作,但当我在 GCP 上切换到付费 TPU 时失败。Jupyter notebook 代码如下:

这是错误消息:

我在 Huggingface github ( https://github.com/huggingface/transformers/issues/2572 ) 上发布了这个,他们建议 TPU 服务器版本可能与 TPU 客户端版本不匹配,但是 a) 我不知道如何检查为此,也不 b) 该怎么做。建议表示赞赏。