2016-02-28 10 views
9

Jaki jest odpowiednik następujących elementów w Tensorflow?Jak zrobić sumę kolumn w Tensorflow?

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

Sprawdź docs dla [reduce_sum] (https://www.tensorflow.org/versions/r0.7/api_docs/python/math_ops.html#reduce_sum) –

Odpowiedz

24

Istnieje tf.reduce_sum, który jest nieco potężniejszym narzędziem do tego. 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

to właśnie szukałem , dzięki! Dlaczego tego nie ma na stronie? – maroxe

+0

Czy mógłbyś wyjaśnić nieco dlaczego 'tf.reduce_sum (x, [0, 1]) ==> 6'? Potknąłem się o to. – lerner

+1

@Lemer - pytasz TF, aby sumować dwie osie - 0 i 1, więc ponieważ macierz jest 2D, kończy się ona kompletną sumą wszystkich elementów. Generalnie mając tensor KD i sumując na L osiach, kończy się tensor (K-L) D, a więc dla K = L zawsze wyprowadza pływak (tensor 0D). – lejlot

Powiązane problemy