I want to do something like this.
Let\'s say we have a tensor A.
A = [[1,0],[0,4]]
And I want to get nonzero values and their indices fro
You can achieve same result in Tensorflow using not_equal and where methods.
zero = tf.constant(0, dtype=tf.float32)
where = tf.not_equal(A, zero)
where
is a tensor of the same shape as A
holding True
or False
, in the following case
[[True, False],
[False, True]]
This would be sufficient to select zero or non-zero elements from A
. If you want to obtain indices you can use where
method as follows:
indices = tf.where(where)
where
tensor has two True
values so indices
tensor will have two entries. where
tensor has rank of two, so entries will have two indices:
[[0, 0],
[1, 1]]
#assume that an array has 0, 3.069711, 3.167817.
mask = tf.greater(array, 0)
non_zero_array = tf.boolean_mask(array, mask)