TF 2.0 is out! Get hands-on practice at TF World, Oct 28-31. Use code TF20 for 20% off select passes. Register now


View source on GitHub

Group tensors together.


This creates a tuple of tensors with the same values as the tensors argument, except that the value of each tensor is only returned after the values of all tensors have been computed.

control_inputs contains additional ops that have to finish before this op finishes, but whose outputs are not returned.

This can be used as a "join" mechanism for parallel computations: all the argument tensors can be computed in parallel, but the values of any tensor returned by tuple are only available after all the parallel computations are done.

See also and tf.control_dependencies.


  • tensors: A list of Tensors or IndexedSlices, some entries can be None.
  • name: (optional) A name to use as a name_scope for the operation.
  • control_inputs: List of additional ops to finish before returning.


Same as tensors.


  • ValueError: If tensors does not contain any Tensor or IndexedSlices.
  • TypeError: If control_inputs is not a list of Operation or Tensor objects.