tensorflow - keras中的交叉熵损失计算错误
问题描述
我正在尝试在 keras 中使用 tf 交叉熵损失函数。错误是:
Incompatible shapes: [512,184,55] vs. [512,55]
损失函数为:
def keras_binary_cross_entropy_with_logits(tgt, pred):
return tf.nn.sigmoid_cross_entropy_with_logits(labels=tgt, logits=pred)
这个想法是在目标被多标签二值化的情况下进行多标签分类。y_true 的形状为 [batch_size, label_vocab_length],y_pred 的形状为 [batch_size, sequnece_length, label_vocab_length]。在上面的例子中y_true =[512,55]
和y_pred=[512,184,55
.
完全错误
InvalidArgumentError: Incompatible shapes: [512,184,55] vs. [512,55]
[[{{node training_2/RMSprop/gradients/loss_5/dense_output_loss/logistic_loss/mul_grad/BroadcastGradientArgs}} = BroadcastGradientArgs[T=DT_INT32, _class=["loc:@train...ad/Reshape"], _device="/job:localhost/replica:0/task:0/device:CPU:0"](training_2/RMSprop/gradients/loss_5/dense_output_loss/logistic_loss/mul_grad/Shape, training_2/RMSprop/gradients/loss_5/dense_output_loss/logistic_loss/mul_grad/Shape_1)]]
我在这里想念什么?
解决方案
推荐阅读
- rest - 使用 put 在一个 http 请求中更新多个产品的问题
- sql - 将每个列值转换为列名
- sql - 如何使用 !在提到的查询中?
- jenkins - 此节点离线,因为它使用旧的 slave.jar
- php - 使用命名空间时找不到类
- python - django 用户认证和授权
- svg - 如何在 Phaser 3 中与 SVG 图像进行悬停交互
- css - 如何制作按钮:hover 影响 java fx 中的 lebel
- node.js - 如何在 Docker 中使用 Chromium v77 运行 NodeJS puppeteer?
- python - Flask-SQLAlchemy 插入多个字典