Was ist der Unterschied zwischen np.bedeuten und tf.reduce_mean?

In der MNIST Anfänger-tutorial, es ist die Aussage

accuracy = tf.reduce_mean(tf.cast(correct_prediction, "float"))

tf.cast im Grunde ändert den Typ von tensor das Objekt ist, aber was ist der Unterschied zwischen tf.reduce_mean und np.bedeuten?

Hier ist der doc auf tf.reduce_mean:

reduce_mean(input_tensor, reduction_indices=None, keep_dims=False, name=None)

input_tensor: Die tensor zu reduzieren. Sollte numerischen Typ.

reduction_indices: Die Abmessungen zu reduzieren. Wenn None (der Fehler), reduziert alle Dimensionen.

# 'x' is [[1., 1. ]]
#         [2., 2.]]
tf.reduce_mean(x) ==> 1.5
tf.reduce_mean(x, 0) ==> [1.5, 1.5]
tf.reduce_mean(x, 1) ==> [1.,  2.]

Für einen 1D-Vektor, wie es aussieht np.mean == tf.reduce_mean, aber ich verstehe nicht, was in tf.reduce_mean(x, 1) ==> [1., 2.]. tf.reduce_mean(x, 0) ==> [1.5, 1.5] Art von Sinn macht, da meine von [1,2] und [1,2] sind [1.5,1.5] aber was ist Los mit tf.reduce_mean(x,1)?

  • Sie produzieren unterschiedliche Ergebnisse auf ganzzahlige Werte durch die Aufteilung in python
  • Ein wichtiger Unterschied für jene, die neu tensorflow: tf.reduce_mean ist multi-threaded, in der Regel berechnet auf die GPU, während np.mean berechnet wird, auf einer einzelnen CPU. Auch tf ist ausgelegt für eine batch-Daten in der Erwägung, dass np wirkt auf eine einzelne Daten-Instanz.
InformationsquelleAutor O.rka | 2015-12-12
Schreibe einen Kommentar