[null,null,["Last updated 2022-11-04 UTC."],[],[],null,["# tf.tuple\n\n\u003cbr /\u003e\n\n|-------------------------------------------------------------------------------------------------------------------------------------|\n| [View source on GitHub](https://github.com/tensorflow/tensorflow/blob/v2.7.4/tensorflow/python/ops/control_flow_ops.py#L3010-L3038) |\n\nGroups tensors together. \n\n tf.tuple(\n tensors, control_inputs=None, name=None\n )\n\nThe returned tensors have the same value as the input tensors, but they\nare computed only after all the input tensors have been computed.\n| **Note:** *In TensorFlow 2 with eager and/or Autograph, you should not require\n| this method, as ops execute in the expected order thanks to automatic control\n| dependencies.* Only use [`tf.tuple`](../tf/tuple) when working with v1 [`tf.Graph`](../tf/Graph) code.\n\nSee also [`tf.group`](../tf/group) and [`tf.control_dependencies`](../tf/control_dependencies).\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n| Args ---- ||\n|------------------|---------------------------------------------------------------------|\n| `tensors` | A list of `Tensor`s or `IndexedSlices`, some entries can be `None`. |\n| `control_inputs` | List of additional ops to finish before returning. |\n| `name` | (optional) A name to use as a `name_scope` for the operation. |\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n| Returns ------- ||\n|---|---|\n| Same as `tensors`. ||\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n| Raises ------ ||\n|--------------|-----------------------------------------------------------------------|\n| `ValueError` | If `tensors` does not contain any `Tensor` or `IndexedSlices`. |\n| `TypeError` | If `control_inputs` is not a list of `Operation` or `Tensor` objects. |\n\n\u003cbr /\u003e"]]