2015-11-16 3 views
7

Quindi nella rete neurale convoluzionale cifar10 esempio in tensorflow, nel metodo inference() di cifar10.py vedo diverse istanze di questo:L'output di tf.nn.bias_add (valore, bias) ha sempre una forma diversa dalla forma del valore

bias = tf.reshape(tf.nn.bias_add(conv, biases),conv.get_shape().as_list()) 

sembra che il Reshape è fare in modo l'uscita del bias_add(value, bias) ha la forma di valore di

la mia domanda è, è il tf.reshape() necessaria? C'è una situazione in cui tf.nn.bias_add(value, bias) non restituirà un tensore con la stessa forma del valore?

risposta

11

Lo shape of the result di tf.nn.bias_add(value, bias) corrisponde sempre alla forma del valore, quindi queste chiamate a tf.reshape() non sono necessarie.

Occasionalmente, le chiamate verso tf.reshape() vengono utilizzati per aggiungere informazioni esplicite circa la forma, ma la recommended way to do this, per the FAQ, è quello di utilizzare il metodo Tensor.set_shape() aggiungere informazioni forma senza l'aggiunta di un funzionamento ridondante al grafico.