如何修复“ValueError:没有足够的值来解压(预期 2,得到 1)”

Ska*_*nga 5 python nlp numpy softmax

我正在尝试使用 bert-base-german-cased 模型对德国推文数据集进行情感分析,该模型是我通过从 Hugginface 的变压器导入的。

为了能够计算预测概率,我想要 Numpy 的 Softmax,问题就从这里开始。

F.softmax(model(input_ids, attention_mask), dim=1)
Run Code Online (Sandbox Code Playgroud)

我收到错误:

ValueError: not enough values to unpack (expected 2, got 1)
Run Code Online (Sandbox Code Playgroud)

有谁知道这里期望哪些值?

当我尝试使用以下命令运行它时,一切正常:

self.bert = BertModel.from_pretrained(PRE_TRAINED_MODEL_NAME)
Run Code Online (Sandbox Code Playgroud)

当我切换到时出现错误

self.bert = AutoModelWithLMHead.from_pretrained("bert-base-german-cased")
Run Code Online (Sandbox Code Playgroud)

正如你可能看到的,我是一个菜鸟。因此,我请求简单而详细的解释(鱼可以理解:D)。

代码0

代码1

代码2

“Input_ID”和“Attention_mask”是标记化过程的输出值。

R. *_*ahy 9

这是一个迟到的答案,但可能会有所帮助。

我有同样的错误。我的问题是“input_ids”和“attention_mask”必须是二维张量,但我将它们作为一维张量。也如此

input_ids = input_ids.unsqueeze(0)
attention_mask = attention_mask.unsqueeze(0)
Run Code Online (Sandbox Code Playgroud)

在你的情况下。