【发布时间】:2018-12-11 20:16:41
【问题描述】:
我正在尝试使用二元交叉熵来解决二元分类问题并一直遇到以下错误,我尝试过类型转换以及将张量重塑为 [-1, 1],但似乎没有任何效果。
我的最后 2 层定义为,
dense_fin2 = tf.layers.dense(inputs = dense_fin, units = 128, name = "dense_fin2")
logits = tf.sigmoid(tf.layers.dense(inputs = dense_fin2, units = 1, name = "logits"))
损失函数,
loss = labels * -tf.log(logits) + (1 - labels) * -tf.log(1 - logits)
loss = tf.reduce_mean(loss)
张量流抛出的错误,
ValueError: Tensor conversion requested dtype int32 for Tensor with dtype float32: 'Tensor("Neg:0", shape=(?, 1), dtype=float32)'
额外信息, 我正在使用 Estimator API 和 Dataset API。我有整数标签,即 0 或 1。它们是 NOT 单热编码的。我知道这可以通过一个热编码我的标签来实现,但我不想走那条路。
【问题讨论】:
标签: python tensorflow machine-learning