我想测量MNIST图像的熵。然而,大部分强度值为0,并且tf.log
返回inf
。我知道我可以简单地计算熵:使用Tensorflow的MNIST图像的熵
entropy = tf.reduce_mean(-tf.reduce_sum(X * tf.log(X), axis=1))
其中X是一个占位符MNIST图片批量,定义为X = tf.placeholder("float", [None, 784])
。然而,结果是nan
(许多像素值为0,所以tf.log
将给inf
)。有没有办法解决这个问题,或另一种方法来计算一个图像的熵?
你的意思是规范化的价值,使所有784他们加起来1? – user3813674
如果你有0 1,该怎么办? 90 0,6 2和4。不会有零吗?那么我怎么过滤掉所有的0呢? – user3813674
不,因为你在计算中不包含0。没有1可以预测 - 它们不在可用输出集合中。你也不包括3,7,1024's,狗,脑肿瘤或小神。如果它不在人口中,它对熵没有影响。 – Prune