# tf.keras.utils.img_to_array

<br />

|---|
| [![](https://www.tensorflow.org/images/GitHub-Mark-32px.png) View source on GitHub](https://github.com/keras-team/keras/tree/v2.14.0/keras/utils/image_utils.py#L282-L335) |

Converts a PIL Image instance to a Numpy array.

#### View aliases


**Main aliases**

[`tf.keras.preprocessing.image.img_to_array`](https://www.tensorflow.org/api_docs/python/tf/keras/utils/img_to_array)

<br />

    tf.keras.utils.img_to_array(
        img, data_format=None, dtype=None
    )

#### Usage:

    from PIL import Image
    img_data = np.random.random(size=(100, 100, 3))
    img = tf.keras.utils.array_to_img(img_data)
    array = tf.keras.utils.image.img_to_array(img)

<br />

<br />

<br />

| ## Args ||
|---|---|
| `img` | Input PIL Image instance. |
| `data_format` | Image data format, can be either `"channels_first"` or `"channels_last"`. None means the global setting [`tf.keras.backend.image_data_format()`](https://www.tensorflow.org/versions/r2.14/api_docs/python/tf/keras/backend/image_data_format) is used (unless you changed it, it uses `"channels_last"`). Defaults to `None`. |
| `dtype` | Dtype to use. None makes the global setting [`tf.keras.backend.floatx()`](https://www.tensorflow.org/versions/r2.14/api_docs/python/tf/keras/backend/floatx) to be used (unless you changed it, it uses `"float32"`). Defaults to `None`. |

<br />

<br />

<br />

<br />

| ## Returns ||
|---|---|
| A 3D Numpy array. ||

<br />

<br />

<br />

<br />

| ## Raises ||
|---|---|
| `ValueError` | if invalid `img` or `data_format` is passed. |

<br />