Ответ 1
Вы можете достичь такого же результата в Tensorflow, используя not_equal и where.
zero = tf.constant(0, dtype=tf.float32)
where = tf.not_equal(A, zero)
where
- тензор той же формы, что и A
, удерживающий True
или False
, в следующем случае
[[True, False],
[False, True]]
Этого было бы достаточно, чтобы выбрать нулевые или ненулевые элементы из A
. Если вы хотите получить индексы, вы можете использовать метод where
следующим образом:
indices = tf.where(where)
where
тензор имеет два значения True
, поэтому тензор indices
будет иметь две записи. where
имеет ранг из двух, поэтому записи будут иметь два индекса:
[[0, 0],
[1, 1]]