как пройти по каждой строке в тензоре в тензорном потоке - PullRequest
0 голосов
/ 25 июня 2018

У меня есть 2D-тензор в тензорном потоке,

Скажем, например, тензор 2 * 4 [[1., 2., 3., 4.], [2., 4., 5., 6.]].

У меня есть функция a (), чтобы пропустить каждую строку в тензоре, а затем суммировать по всем результатам a (). Как это сделать (не делать это в сеансе)?

Выход должен быть a ([1., 2., 3., 4.]) + A ([2., 4., 5., 6.]), На практике у меня очень большой тензор с много строк.

Это отличается от redu_sum, потому что функция a () здесь довольно сложна, и ее нельзя напрямую использовать через векторизацию.

Большое спасибо!

1 Ответ

0 голосов
/ 30 июня 2018

Возможно, вам нужна функция map_fn в Tensorflow.map_fn(a, elems) распаковывает тензор, elems по его первому измерению, в последовательности срезов, а затем применяет предоставленную функцию a к каждому срезу, после чего снова объединяет выходные данные в один тензор, объединяя по первому измерению.

Звучит так, как будто вы хотите

Y = map_fn(a, X)
answer = reduce_sum(Y, axis=0)

, где X - ваш поставленный тензор.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...