tf.raw_ops.While

output = input; While (Cond(output)) { output = Body(output) }

tf.raw_ops.While(
    input, cond, body, output_shapes=[], parallel_iterations=10, name=None
)

Args:

  • input: A list of Tensor objects. A list of input tensors whose types are T.
  • cond: A function decorated with @Defun. A function takes 'input' and returns a tensor. If the tensor is a scalar of non-boolean, the scalar is converted to a boolean according to the following rule: if the scalar is a numerical value, non-zero means True and zero means False; if the scalar is a string, non-empty means True and empty means False. If the tensor is not a scalar, non-emptiness means True and False otherwise.
  • body: A function decorated with @Defun. A function that takes a list of tensors and returns another list of tensors. Both lists have the same types as specified by T.
  • output_shapes: An optional list of shapes (each a tf.TensorShape or list of ints). Defaults to [].
  • parallel_iterations: An optional int. Defaults to 10.
  • name: A name for the operation (optional).

Returns:

A list of Tensor objects. Has the same type as input.