2016-07-14 53 views
6

Scusate se ho incasinato il titolo, non sapevo come esprimerlo. Ad ogni modo, ho un tensore di un insieme di valori, ma voglio assicurarmi che ogni elemento nel tensore abbia un range compreso tra 0 e 255, (o anche 0 - 1). Tuttavia, non voglio rendere tutti i valori sommati a 1 o 255 come softmax, voglio solo ridimensionare i valori.Modifica della scala di un tensore in tensorflow

C'è un modo per farlo?

Grazie!

risposta

11

Si sta tentando di normalizzare i dati. Una formula di normalizzazione classico è questo:

normalize_value = (value − min_value)/(max_value − min_value) 

L'implementazione su tensorflow sarà simile a questa:

tensor = tf.div(
    tf.subtract(
     tensor, 
     tf.reduce_min(tensor) 
    ), 
    tf.subtract(
     tf.reduce_max(tensor), 
     tf.reduce_min(tensor) 
    ) 
) 

Tutti i valori del tensore saranno betweetn 0 e 1.

IMPORTANTE: assicurarsi che il tensore abbia valori flottanti/doppi, oppure che il tensore di uscita abbia solo zero e uno. Se si dispone di un intero tensore chiamare questo prima:

... 2810
2

sigmoid(tensor) * 255 dovrebbe farlo.

Problemi correlati