2016-02-28 10 views
9

Qual è l'equivalente di quanto segue in Tensorflow?Come fare una somma di colonna in Tensorflow?

np.sum(A, axis=1) 
+2

Controllare la documentazione per [reduce_sum] (https://www.tensorflow.org/versions/r0.7/api_docs/python/math_ops.html#reduce_sum) –

risposta

24

C'è tf.reduce_sum che è uno strumento un po 'più potente per farlo. https://github.com/tensorflow/tensorflow/blob/master/tensorflow/g3doc/api_docs/python/math_ops.md#tfreduce_suminput_tensor-reduction_indicesnone-keep_dimsfalse-namenone-reduce_sum

# 'x' is [[1, 1, 1] 
#   [1, 1, 1]] 
tf.reduce_sum(x) ==> 6 
tf.reduce_sum(x, 0) ==> [2, 2, 2] 
tf.reduce_sum(x, 1) ==> [3, 3] 
tf.reduce_sum(x, 1, keep_dims=True) ==> [[3], [3]] 
tf.reduce_sum(x, [0, 1]) ==> 6 
+0

questo è esattamente quello che stavo cercando , Grazie! Perché questo non è presente nel sito Web? – maroxe

+0

Potresti descrivere un po 'perché 'tf.reduce_sum (x, [0, 1]) ==> 6'? Sono inciampato in esso. – lerner

+1

@Lemer - stai chiedendo a TF di sommare su due assi - 0 e 1, quindi dato che la matrice è 2D si finisce con la somma completa di tutti gli elementi. In generale con il tensore KD e l'assorbimento degli assi L si finisce con il tensore (K-L) D, quindi per K = L emette sempre un galleggiante (tensore 0D). – lejlot

Problemi correlati