對不起,如果我搞砸了標題,我不知道該怎麼說。無論如何,我有一組值的張量,但我想確保張量中的每個元素的範圍從0到255,(或0 - 1也可以)。然而,我不想讓所有的值加起來像softmax那樣是1或255,我只是想縮小這些值。改變張量流中的張量的尺度
有沒有辦法做到這一點?
謝謝!
對不起,如果我搞砸了標題,我不知道該怎麼說。無論如何,我有一組值的張量,但我想確保張量中的每個元素的範圍從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
應該這樣做。