2017-03-05 22 views
7

Czy możesz intuicyjnie wyjaśnić lub podać więcej przykładów na temat tf.gather_nd indeksowania i dzielenia na wielowymiarowe tensory w Tensorflow? Czytam API, ale jest to dość zwięzłe, że trudno mi jest podążać za koncepcją funkcji.Wyjaśnienie "tf.gather_nd" w Tensorflow

Dzięki.

Odpowiedz

5

Ok, więc pomyśl o tym tak:

Jesteś dostarczając listę wartości indeksu do indeksu dostarczona przez tensor aby uzyskać te wartości. Pierwszy wymiar indeksów dotyczy każdego indeksu, który wykonasz. Udawajmy, że tensor to tylko lista list.

[[0]] oznacza, że ​​chcesz przywrócić jedną określoną wartość w indeksie 0 w dostarczonym tensorze. Podobnie jak to:

[tensor[0]] 

[[0], [1]] oznacza, że ​​chcesz z powrotem dwa konkretne wartości w indeksach 0 i 1 tak:

[tensor[0], tensor[1]] 

Teraz co jeśli tensor jest więcej niż jedna wymiary? Robimy to samo:

[[0, 0]] oznacza, że ​​chcesz z powrotem jednej wartości w indeksie 0 wymiaru 0, wówczas wskaźnik 0 wymiaru 1. Podobnie jak:

[tensor[0][0]] 

[[0 , 1], [2, 3]] oznacza, że ​​chcesz przywrócić dwie wartości z dostarczonych indeksów i wymiarów. Podobnie jak:

[tensor[0][1], tensor[2][3]] 

Mam nadzieję, że ma to sens. Próbowałem użyć indeksowania Pythona, aby wyjaśnić, jak to będzie wyglądać w Pythonie, aby zrobić to na liście list.