Присвойте значение тензорным полям, которые удовлетворяют условию в Tensorflow - PullRequest
0 голосов
/ 20 мая 2018

Позвольте мне представить проблему с примером в numpy:

arr  - some numpy array
a, b - constants
arr[arr < a] = b

Теперь я хотел бы реализовать ту же функциональность, но в Tensorflow, где arr будет тензором.Значение тензора неизвестно до времени выполнения.

Как видите, ответ даст разъяснения как для присвоения значений определенным позициям внутри тензоров, так и для выполнения кондиционирования для тензора и извлечения индексов, которые удовлетворяют условию.

1 Ответ

0 голосов
/ 21 мая 2018

Как упомянуто @ xdurch0, tf.where() при надлежащем кондиционировании и трансляции должны добиться цели:

b_broadcast = tf.ones(tf.shape(arr), dtype=arr.dtype) * b
arr = tf.where(tf.less(arr, a), b_broadcast, arr)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...