【发布时间】:2019-03-07 00:33:33
【问题描述】:
我有一个输出层大小为[3, 13000, 3, 1] (B,H,W,C) 的网络,我使用tf.reduce_mean 对其进行了转换以获得输出大小[3, 13000, 1]。
对吗?
我的标签大小为 [3, 13000, 1] 作为我的新输出,并且都是 0 或 1 值。
现在我必须用标签计算损失。为了计算这个损失,我使用这个公式 tf.reduce_mean(tf.nn.softmax_cross_entropy_with_logits_v2(logits=predict, labels=y)),但首先我必须将输出中的所有值转换为 0 或 1。我使用的是 tf.nn.softmax 函数,但我得到的都是 1。
如何实现将阈值以下的所有值映射到 0 和 1 以上的函数?这个阈值应该是例如(max value - min value) / 2。这也应该适用于反向传播步骤中的梯度。
【问题讨论】:
-
输出是用relu函数获得的,所以它的值为[0, x],但我需要[0, 1]
标签: python python-2.7 tensorflow loss-function softmax