ValueError: `logits` and `labels` must have the same shape, received ((None, 2) vs (None, 1)).
时间: 2024-01-26 10:04:39 浏览: 351
python3.7解决最小二乘遇到ValueError:Expected 2D array, got 1D array instead: array=[5.].关于reshape和predict
这个错误通常发生在使用交叉熵损失函数进行分类任务时,`logits`表示模型的输出结果,而`labels`表示正确的标签,两者的维度应该相同,但是你的代码中,`logits`的维度为`(None, 2)`,而`labels`的维度为`(None, 1)`。
解决方法是将`labels`的维度也改为`(None, 2)`,并用one-hot编码表示标签,例如将`[0, 1]`表示为`[[1, 0], [0, 1]]`。或者你可以尝试使用`SparseCategoricalCrossentropy`损失函数,它可以接受整数类型的标签,不需要进行one-hot编码。
阅读全文