<br />

|---|
| [![](https://www.tensorflow.org/images/GitHub-Mark-32px.png) View source on GitHub](https://github.com/tensorflow/tensorflow/blob/v2.21.0/tensorflow/python/ops/array_ops.py#L2849-L2900) |

Creates a tensor of all ones that has the same shape as the input.

    tf.ones_like(
        input, dtype=None, name=None, layout=None
    )

### Used in the notebooks

| Used in the guide | Used in the tutorials |
|---|---|
| - [Extension types](https://www.tensorflow.org/guide/extension_type) - [Validating correctness \& numerical equivalence](https://www.tensorflow.org/guide/migrate/validate_correctness) | - [CycleGAN](https://www.tensorflow.org/tutorials/generative/cyclegan) - [Deep Convolutional Generative Adversarial Network](https://www.tensorflow.org/tutorials/generative/dcgan) - [pix2pix: Image-to-image translation with a conditional GAN](https://www.tensorflow.org/tutorials/generative/pix2pix) - [Multilevel Modeling Primer in TensorFlow Probability](https://www.tensorflow.org/probability/examples/Multilevel_Modeling_Primer) - [Research tools](https://www.tensorflow.org/quantum/tutorials/research_tools) |

See also [`tf.ones`](https://www.tensorflow.org/api_docs/python/tf/ones).

Given a single tensor (`tensor`), this operation returns a tensor of the
same type and shape as `tensor` with all elements set to 1. Optionally,
you can use `dtype` to specify a new type for the returned tensor.

#### For example:

    tensor = tf.constant([[1, 2, 3], [4, 5, 6]])
    tf.ones_like(tensor)
    <tf.Tensor: shape=(2, 3), dtype=int32, numpy=
      array([[1, 1, 1],
             [1, 1, 1]], dtype=int32)>

Note that the layout of the input tensor is not preserved if the op
is used inside tf.function. To obtain a tensor with the same layout as the
input, chain the returned value to a [`dtensor.relayout_like`](https://www.tensorflow.org/api_docs/python/tf/experimental/dtensor/relayout_like).

<br />

<br />

<br />

| ## Args ||
|---|---|
| `input` | A `Tensor`. |
| `dtype` | A type for the returned `Tensor`. Must be `float16`, `float32`, `float64`, `int8`, `uint8`, `int16`, `uint16`, `int32`, `int64`, `complex64`, `complex128`, `bool` or `string`. |
| `name` | A name for the operation (optional). |
| `layout` | Optional, [`tf.experimental.dtensor.Layout`](https://www.tensorflow.org/api_docs/python/tf/experimental/dtensor/Layout). If provided, the result is a [DTensor](https://www.tensorflow.org/guide/dtensor_overview) with the provided layout. |

<br />

<br />

<br />

<br />

| ## Returns ||
|---|---|
| A `Tensor` with all elements set to one. ||

<br />