改变张量流中的张量的尺度
问题描述:
对不起,如果我搞砸了标题,我不知道该怎么说。无论如何,我有一组值的张量,但我想确保张量中的每个元素的范围从0到255,(或0 - 1也可以)。然而,我不想让所有的值加起来像softmax那样是1或255,我只是想缩小这些值。改变张量流中的张量的尺度
有没有办法做到这一点?
谢谢!
答
您正在尝试规范化数据。一个典型的归一化公式是这样的一种:
normalize_value = (value − min_value)/(max_value − min_value)
上tensorflow实施将看起来像这样:
tensor = tf.div(
tf.subtract(
tensor,
tf.reduce_min(tensor)
),
tf.subtract(
tf.reduce_max(tensor),
tf.reduce_min(tensor)
)
)
所有的张量的值将被betweetn 0和1
重要:确保张量具有float/double值,或者输出张量只有零和1。如果您首先有一个整数张量:
tensor = tf.to_float(tensor)
答
sigmoid(tensor) * 255
应该这样做。