<br />

|---|
| [![](https://www.tensorflow.org/images/GitHub-Mark-32px.png) View source on GitHub](https://github.com/keras-team/keras/tree/v2.15.0/keras/preprocessing/image.py#L625-L826) |

Iterator yielding data from a Numpy array.

Inherits From: [`Iterator`](https://www.tensorflow.org/versions/r2.15/api_docs/python/tf/keras/preprocessing/image/Iterator), [`Sequence`](https://www.tensorflow.org/versions/r2.15/api_docs/python/tf/keras/utils/Sequence)

    tf.keras.preprocessing.image.NumpyArrayIterator(
        x,
        y,
        image_data_generator,
        batch_size=32,
        shuffle=False,
        sample_weight=None,
        seed=None,
        data_format=None,
        save_to_dir=None,
        save_prefix='',
        save_format='png',
        subset=None,
        ignore_class_split=False,
        dtype=None
    )

> [!WARNING]
> **Deprecated:** [`tf.keras.preprocessing.image.NumpyArrayIterator`](https://www.tensorflow.org/versions/r2.15/api_docs/python/tf/keras/preprocessing/image/NumpyArrayIterator) is not recommended for new code. Prefer loading images with [`tf.keras.utils.image_dataset_from_directory`](https://www.tensorflow.org/versions/r2.15/api_docs/python/tf/keras/utils/image_dataset_from_directory) and transforming the output [`tf.data.Dataset`](https://www.tensorflow.org/versions/r2.15/api_docs/python/tf/data/Dataset) with preprocessing layers. For more information, see the tutorials for [loading images](https://www.tensorflow.org/tutorials/load_data/images) and [augmenting images](https://www.tensorflow.org/tutorials/images/data_augmentation), as well as the [preprocessing layer guide](https://www.tensorflow.org/guide/keras/preprocessing_layers).

<br />

<br />

<br />

| ## Args ||
|---|---|
| `x` | Numpy array of input data or tuple. If tuple, the second elements is either another numpy array or a list of numpy arrays, each of which gets passed through as an output without any modifications. |
| `y` | Numpy array of targets data. |
| `image_data_generator` | Instance of `ImageDataGenerator` to use for random transformations and normalization. |
| `batch_size` | Integer, size of a batch. |
| `shuffle` | Boolean, whether to shuffle the data between epochs. |
| `sample_weight` | Numpy array of sample weights. |
| `seed` | Random seed for data shuffling. |
| `data_format` | String, one of `channels_first`, `channels_last`. |
| `save_to_dir` | Optional directory where to save the pictures being yielded, in a viewable format. This is useful for visualizing the random transformations being applied, for debugging purposes. |
| `save_prefix` | String prefix to use for saving sample images (if `save_to_dir` is set). |
| `save_format` | Format to use for saving sample images (if `save_to_dir` is set). |
| `subset` | Subset of data (`"training"` or `"validation"`) if validation_split is set in ImageDataGenerator. |
| `ignore_class_split` | Boolean (default: False), ignore difference in number of classes in labels across train and validation split (useful for non-classification tasks) |
| `dtype` | Dtype to use for the generated arrays. |

<br />

## Methods

### `next`

[View source](https://github.com/keras-team/keras/tree/v2.15.0/keras/preprocessing/image.py#L158-L168)

    next()

For python 2.x.

<br />

<br />

<br />

| Returns ||
|---|---|
| The next batch. ||

<br />

### `on_epoch_end`

[View source](https://github.com/keras-team/keras/tree/v2.15.0/keras/preprocessing/image.py#L121-L122)

    on_epoch_end()

Method called at the end of every epoch.

### `reset`

[View source](https://github.com/keras-team/keras/tree/v2.15.0/keras/preprocessing/image.py#L124-L125)

    reset()

### `__getitem__`

[View source](https://github.com/keras-team/keras/tree/v2.15.0/keras/preprocessing/image.py#L101-L116)

    __getitem__(
        idx
    )

Gets batch at position `index`.

<br />

<br />

<br />

| Args ||
|---|---|
| `index` | position of the batch in the Sequence. |

<br />

<br />

<br />

<br />

| Returns ||
|---|---|
| A batch ||

<br />

### `__iter__`

[View source](https://github.com/keras-team/keras/tree/v2.15.0/keras/preprocessing/image.py#L150-L153)

    __iter__()

Create a generator that iterate over the Sequence.

### `__len__`

[View source](https://github.com/keras-team/keras/tree/v2.15.0/keras/preprocessing/image.py#L118-L119)

    __len__()

Number of batch in the Sequence.

<br />

<br />

<br />

| Returns ||
|---|---|
| The number of batches in the Sequence. ||

<br />

<br />

<br />

<br />

| ## Class Variables ||
|---|---|
| white_list_formats | `('png', 'jpg', 'jpeg', 'bmp', 'ppm', 'tif', 'tiff')` |

<br />