仅在 TPU 训练 Keras 模型时出现形状错误
Shape error only when TPU training Keras model
首先,这不是我的代码。我只是将其更改为能够在 TPU 上进行训练。原作者是here。我可以在协作笔记本上 运行 它在 GPU 上加速 运行 时间,但是当我进行 TPU 加速 运行 时间时它似乎中断了。
这是我的notebook。它只是给我一个激活函数大小不正确的错误。
ValueError: Error when checking target: expected activation_21 to have shape (1,) but got array with shape (205,)
如果我能得到任何帮助,我将不胜感激,因为我花了大约 3 个小时进行调试。
由于您对标签进行单热编码,因此它们并不稀疏,因此您需要使用 'categorical_accuracy' 作为度量:
model.compile(..., metrics=['categorical_accuracy'])
或更简洁地使用 'accuracy' 让 Keras 根据使用的损失函数推断出正确的指标(在这种情况下将是 'categorical_accuracy'
,因为您使用 categorical_crossentropy
作为损失函数):
model.compile(..., metrics=['accuracy'])
首先,这不是我的代码。我只是将其更改为能够在 TPU 上进行训练。原作者是here。我可以在协作笔记本上 运行 它在 GPU 上加速 运行 时间,但是当我进行 TPU 加速 运行 时间时它似乎中断了。
这是我的notebook。它只是给我一个激活函数大小不正确的错误。
ValueError: Error when checking target: expected activation_21 to have shape (1,) but got array with shape (205,)
如果我能得到任何帮助,我将不胜感激,因为我花了大约 3 个小时进行调试。
由于您对标签进行单热编码,因此它们并不稀疏,因此您需要使用 'categorical_accuracy' 作为度量:
model.compile(..., metrics=['categorical_accuracy'])
或更简洁地使用 'accuracy' 让 Keras 根据使用的损失函数推断出正确的指标(在这种情况下将是 'categorical_accuracy'
,因为您使用 categorical_crossentropy
作为损失函数):
model.compile(..., metrics=['accuracy'])