# tf.keras.layers.Rescaling

<br />

|---|
| [![](https://www.tensorflow.org/images/GitHub-Mark-32px.png) View source on GitHub](https://github.com/keras-team/keras/tree/v2.13.1/keras/layers/preprocessing/image_preprocessing.py#L328-L386) |

A preprocessing layer which rescales input values to a new range.

Inherits From: [`Layer`](https://www.tensorflow.org/versions/r2.13/api_docs/python/tf/keras/layers/Layer), [`Module`](https://www.tensorflow.org/versions/r2.13/api_docs/python/tf/Module)

#### View aliases


**Main aliases**

[`tf.keras.layers.experimental.preprocessing.Rescaling`](https://www.tensorflow.org/api_docs/python/tf/keras/layers/Rescaling)
**Compat aliases for migration**

See
[Migration guide](https://www.tensorflow.org/guide/migrate) for
more details.

\`tf.compat.v1.keras.layers.Rescaling\`, \`tf.compat.v1.keras.layers.experimental.preprocessing.Rescaling\`

<br />

    tf.keras.layers.Rescaling(
        scale, offset=0.0, **kwargs
    )

This layer rescales every value of an input (often an image) by multiplying
by `scale` and adding `offset`.

#### For instance:

1. To rescale an input in the `[0, 255]` range
   to be in the `[0, 1]` range, you would pass `scale=1./255`.

2. To rescale an input in the `[0, 255]` range to be in the `[-1, 1]` range,
   you would pass `scale=1./127.5, offset=-1`.

The rescaling is applied both during training and inference. Inputs can be
of integer or floating point dtype, and by default the layer will output
floats.

For an overview and full list of preprocessing layers, see the preprocessing
[guide](https://www.tensorflow.org/guide/keras/preprocessing_layers).

<br />

<br />

<br />

| ## Input shape ||
|---|---|
| Arbitrary. ||

<br />

<br />

<br />

<br />

| ## Output shape ||
|---|---|
| Same as input. ||

<br />

<br />

<br />

<br />

| ## Args ||
|---|---|
| `scale` | Float, the scale to apply to the inputs. |
| `offset` | Float, the offset to apply to the inputs. |

<br />