tf.where

TensorFlow 1 version View source on GitHub

Return the elements, either from x or y, depending on the condition.

If both x and y are None, then this operation returns the coordinates of true elements of condition. The coordinates are returned in a 2-D tensor where the first dimension (rows) represents the number of true elements, and the second dimension (columns) represents the coordinates of the true elements. Keep in mind, the shape of the output tensor can vary depending on how many true values there are in input. Indices are output in row-major order.

If both non-None, condition, x and y must be broadcastable to the same shape.

The condition tensor acts as a mask that chooses, based on the value at each element, whether the corresponding element / row in the output should be taken from x (if true) or y (if false).

condition A Tensor of type bool
x A Tensor which is of the same type as y, and may be broadcastable with condition and y.
y A Tensor which is of the same type as x, and may be broadcastable with condition and x.
name A name of the operation (optional).

A Tensor with the same type as x and y, and shape that is broadcast from condition, x, and y, if x, y are non-None. Otherwise, a Tensor with shape (num_true, dim_size(condition)).

ValueError When exactly one of x or y is non-None.