2017-10-10 43 views
5

Próbuję skonstruować DAG w Tensorflow, gdzie muszę wybrać tryb (najczęściej występujący) poszczególnych regionów mojego celu. Ma to na celu skonstruowanie zmniejszonego celu.Czy można zastosować tryb tensora w Tensorflow?

W tej chwili przetwarzam wstępnie obniżone poziomy docelowe dla każdej konkretnej sytuacji, w której się znajduję, zapisując je, a następnie ładując. Oczywiście wszystko to byłoby o wiele łatwiejsze, gdyby został zintegrowany z moim grafem Tensorflow, dzięki czemu mógłbym zmniejszyć wydajność w czasie wykonywania.

Ale szukałem wszędzie i nie mogę znaleźć żadnego dowodu na to, że tf.reduce_mode będzie działać tak samo, jak tf.reduce_mean. Czy istnieje sposób skonstruowania tej funkcji na wykresie Tensorflow?

Odpowiedz

0

Mój pomysł polega na tym, że otrzymujemy niepowtarzalne liczby i ich liczby. Następnie znajdujemy liczby, które pojawiają się najczęściej. Na koniec pobieramy te liczby (może być więcej niż jeden) za pomocą ich indeksów w tensorze licznikowym.

samples = tf.constant([10, 32, 10, 5, 7, 9, 9, 9]) 
unique, _, count = tf.unique_with_counts(samples) 
max_occurrences = tf.reduce_max(count) 
max_cond = tf.equal(count, max_occurrences) 
max_numbers = tf.squeeze(tf.gather(unique, tf.where(max_cond))) 

with tf.Session() as sess: 
    print 'Most frequent Numbers\n', sess.run(max_numbers) 
> Most frequent Numbers 
    9