Skip to content

Instantly share code, notes, and snippets.

@ia35
Last active February 6, 2020 07:51
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save ia35/9ada258a9364d2f1863b96fbb8a8f373 to your computer and use it in GitHub Desktop.
Save ia35/9ada258a9364d2f1863b96fbb8a8f373 to your computer and use it in GitHub Desktop.
TensorFlow_Dataset.ipynb
Display the source blob
Display the rendered blob
Raw
{
"nbformat": 4,
"nbformat_minor": 0,
"metadata": {
"colab": {
"name": "TensorFlow_Dataset.ipynb",
"provenance": [],
"collapsed_sections": [],
"include_colab_link": true
},
"kernelspec": {
"name": "python3",
"display_name": "Python 3"
},
"accelerator": "GPU",
"widgets": {
"application/vnd.jupyter.widget-state+json": {
"8d31b2afd54541eaab5470a8ebabd824": {
"model_module": "@jupyter-widgets/controls",
"model_name": "HBoxModel",
"state": {
"_view_name": "HBoxView",
"_dom_classes": [],
"_model_name": "HBoxModel",
"_view_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_view_count": null,
"_view_module_version": "1.5.0",
"box_style": "",
"layout": "IPY_MODEL_541b6fd2facb4a45abea1f22e7edf32f",
"_model_module": "@jupyter-widgets/controls",
"children": [
"IPY_MODEL_08acb9f4a0bd4d51b8cf2e9cd8128d47",
"IPY_MODEL_28cbad5e8c644cc5ae86d5660001ed78"
]
}
}
}
}
},
"cells": [
{
"cell_type": "markdown",
"metadata": {
"id": "view-in-github",
"colab_type": "text"
},
"source": [
"<a href=\"https://colab.research.google.com/gist/ia35/9ada258a9364d2f1863b96fbb8a8f373/tensorflow_dataset.ipynb\" target=\"_parent\"><img src=\"https://colab.research.google.com/assets/colab-badge.svg\" alt=\"Open In Colab\"/></a>"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "sO1GOv6jZ4ut",
"colab_type": "text"
},
"source": [
"[![](http://bec552ebfe.url-de-test.ws/ml/buttonBackProp.png)](https://www.backprop.fr)\n",
"\n",
"# TensorFlow Dataset\n",
"\n",
"tfds (TensorFlow Dataset) est une liste de jeux de données que TensrofFlow **Tf** met à disposition. \n",
"\n",
"On y trouve tous les standards comme MNIST, fashion_mnist, iris, titanic... et d'autres jeux de données moins connus.\n",
"\n",
"C'est très pratique pour se former au Deep Learning (DL) et à Tf.\n",
"\n",
"La doc Tf sur Dataset est [ici](https://www.tensorflow.org/datasets)\n",
"\n",
"<font color=\"blue\">TensorFlow Datasets is a collection of datasets ready to use with TensorFlow. All datasets are exposed as tf.data.Datasets , enabling easy-to-use and high-performance input pipelines. To get started see the guide and our list of datasets. </font>"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "-f5kk6vXgqEJ",
"colab_type": "text"
},
"source": [
"## <font color=\"teal\">Références</font>"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "XKKe2l37gujn",
"colab_type": "text"
},
"source": [
"- Module: tfds [![](https://www.tensorflow.org/images/tf_logo_32px.png)](https://www.tensorflow.org/datasets/api_docs/python/tfds) \n",
"- TensorFlow Datasets [![](https://www.tensorflow.org/images/colab_logo_32px.png)](https://colab.research.google.com/github/tensorflow/datasets/blob/master/docs/overview.ipynb#scrollTo=OGw9EgE0tC0C) \n",
"- [Introduction](https://machinetalk.org/2019/03/18/introduction-to-tensorflow-datasets/) To Tensorflow Datasets \n",
"- § <font color=\"darkorange\">*The TensorFlow Datasets (TFDS) Project*</font> livre : « Hands-On Machine Learning with Scikit-Learn, Keras, and TensorFlow. » d'Aurélien Géron,"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "L3hn9A1qcN4c",
"colab_type": "text"
},
"source": [
"## <font color=\"teal\">Imports</font>"
]
},
{
"cell_type": "code",
"metadata": {
"id": "g-n4hUH2YaIF",
"colab_type": "code",
"outputId": "1f0eaa4d-391d-4369-a0b5-302384bc25d4",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 54
}
},
"source": [
"%tensorflow_version 2.x"
],
"execution_count": 1,
"outputs": [
{
"output_type": "stream",
"text": [
"TensorFlow 2.x selected.\n"
],
"name": "stdout"
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "RLCeIHT0YijS",
"colab_type": "code",
"outputId": "73487f89-7ecb-440e-d9f7-09436a82037a",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 54
}
},
"source": [
"import tensorflow\n",
"print(tensorflow.__version__)"
],
"execution_count": 2,
"outputs": [
{
"output_type": "stream",
"text": [
"2.1.0\n"
],
"name": "stdout"
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "-Gd-nkillDOX",
"colab_type": "code",
"colab": {}
},
"source": [
"import matplotlib.pyplot as plt"
],
"execution_count": 0,
"outputs": []
},
{
"cell_type": "markdown",
"metadata": {
"id": "4MpmyxHpZOuW",
"colab_type": "text"
},
"source": [
"<font color=\"red\">[TPUs](https://colab.research.google.com/notebooks/tensorflow_version.ipynb#scrollTo=hntYWG7j34zg) are not fully supported in Tensorflow 2.0. We expect they will be supported in Tensorflow 2.1. </font>"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "EV-5WgLbaQSK",
"colab_type": "text"
},
"source": [
"Ce notebook reprend un précédent notebook disponible [ici](https://intelligence-artificielle.agency/tensorflow-dataset/), et le met à jour"
]
},
{
"cell_type": "code",
"metadata": {
"id": "LkvGrA1paXr2",
"colab_type": "code",
"colab": {}
},
"source": [
"import tensorflow_datasets as tfds"
],
"execution_count": 0,
"outputs": []
},
{
"cell_type": "markdown",
"metadata": {
"id": "1pFKTgpcdoFY",
"colab_type": "text"
},
"source": [
"## <font color=\"teal\">Liste des Datasets</font>"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "OcZPnjHMcSuZ",
"colab_type": "text"
},
"source": [
"Pour lister les Datasets disponibles"
]
},
{
"cell_type": "code",
"metadata": {
"id": "t4vok15ebQbM",
"colab_type": "code",
"colab": {}
},
"source": [
"dataset_list=tfds.list_builders()"
],
"execution_count": 0,
"outputs": []
},
{
"cell_type": "markdown",
"metadata": {
"id": "7TSORloGUJB7",
"colab_type": "text"
},
"source": [
"Pour mieux les présenter, on utilse Pandas"
]
},
{
"cell_type": "code",
"metadata": {
"id": "O61KyX0weEkR",
"colab_type": "code",
"colab": {}
},
"source": [
"import pandas as pd"
],
"execution_count": 0,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "X3Ey5mX0bTH0",
"colab_type": "code",
"colab": {}
},
"source": [
"df_dataset_list=pd.DataFrame(dataset_list)"
],
"execution_count": 0,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "mHY2Rha3eCOg",
"colab_type": "code",
"outputId": "f58ef800-fa6b-40ec-a2bb-a73ae3e89473",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 374
}
},
"source": [
"df_dataset_list.head(10)"
],
"execution_count": 8,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>0</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>abstract_reasoning</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>aeslc</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>aflw2k3d</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>amazon_us_reviews</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>arc</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>bair_robot_pushing_small</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>big_patent</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>bigearthnet</td>\n",
" </tr>\n",
" <tr>\n",
" <th>8</th>\n",
" <td>billsum</td>\n",
" </tr>\n",
" <tr>\n",
" <th>9</th>\n",
" <td>binarized_mnist</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" 0\n",
"0 abstract_reasoning\n",
"1 aeslc\n",
"2 aflw2k3d\n",
"3 amazon_us_reviews\n",
"4 arc\n",
"5 bair_robot_pushing_small\n",
"6 big_patent\n",
"7 bigearthnet\n",
"8 billsum\n",
"9 binarized_mnist"
]
},
"metadata": {
"tags": []
},
"execution_count": 8
}
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "EJ-eOevEgXGI",
"colab_type": "text"
},
"source": [
"Il y a plus de 100 Datasets, de [types](https://www.tensorflow.org/datasets/catalog/overview) différents (audio, image, text, video, ...)"
]
},
{
"cell_type": "code",
"metadata": {
"id": "PeQzHA7TeRnb",
"colab_type": "code",
"outputId": "f7b4c261-52a9-4315-abaa-177922e58e73",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 54
}
},
"source": [
"len(df_dataset_list)"
],
"execution_count": 9,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"141"
]
},
"metadata": {
"tags": []
},
"execution_count": 9
}
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "A1lqX7tfelYk",
"colab_type": "text"
},
"source": [
"## <font color=\"teal\">Lecture d'un Dataset</font>"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "MP4iZQAbeXA-",
"colab_type": "text"
},
"source": [
"### <font color=\"olive\">Lecture avec tfds.load</font>"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "xeHLDb5ony4l",
"colab_type": "text"
},
"source": [
"La façon la plus simple de lire un dataset : "
]
},
{
"cell_type": "code",
"metadata": {
"id": "8OopMzg2enyX",
"colab_type": "code",
"outputId": "80d34971-1305-439a-bde1-81cfa6b401e6",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 186,
"referenced_widgets": [
"8d31b2afd54541eaab5470a8ebabd824"
]
}
},
"source": [
"dataset = tfds.load(name=\"mnist\")"
],
"execution_count": 10,
"outputs": [
{
"output_type": "stream",
"text": [
"WARNING:absl:Dataset mnist is hosted on GCS. It will automatically be downloaded to your\n",
"local data directory. If you'd instead prefer to read directly from our public\n",
"GCS bucket (recommended if you're running on GCP), you can instead set\n",
"data_dir=gs://tfds-data/datasets.\n",
"\n"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\u001b[1mDownloading and preparing dataset mnist (11.06 MiB) to /root/tensorflow_datasets/mnist/3.0.0...\u001b[0m\n"
],
"name": "stdout"
},
{
"output_type": "display_data",
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "8d31b2afd54541eaab5470a8ebabd824",
"version_minor": 0,
"version_major": 2
},
"text/plain": [
"HBox(children=(IntProgress(value=0, description='Dl Completed...', max=4, style=ProgressStyle(description_widt…"
]
},
"metadata": {
"tags": []
}
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
"\u001b[1mDataset mnist downloaded and prepared to /root/tensorflow_datasets/mnist/3.0.0. Subsequent calls will reuse this data.\u001b[0m\n"
],
"name": "stdout"
}
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "CQxM7YQWxt-k",
"colab_type": "text"
},
"source": [
"Par défaut, dans GCP, le dataset est stocké ici"
]
},
{
"cell_type": "code",
"metadata": {
"id": "AJDQOHK4e1TO",
"colab_type": "code",
"outputId": "511118b9-1367-4749-bf94-6b2d120dd7fa",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 54
}
},
"source": [
"!ls ~/tensorflow_datasets"
],
"execution_count": 11,
"outputs": [
{
"output_type": "stream",
"text": [
"downloads mnist\n"
],
"name": "stdout"
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "_dqC4-Kxx2Jx",
"colab_type": "code",
"outputId": "2dfd7e67-db0d-4f09-e604-e3b8b4972829",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 54
}
},
"source": [
"!ls ~/tensorflow_datasets/mnist"
],
"execution_count": 12,
"outputs": [
{
"output_type": "stream",
"text": [
"3.0.0\n"
],
"name": "stdout"
}
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "sl6zO0ejn6BA",
"colab_type": "text"
},
"source": [
"On peut suivre les préconisations (lire le fichier d'où il est)"
]
},
{
"cell_type": "code",
"metadata": {
"id": "A42pi4YweueV",
"colab_type": "code",
"colab": {}
},
"source": [
"# dataset = tfds.load(name=\"mnist\", data_dir=\"gs://tfds-data/datasets\")"
],
"execution_count": 0,
"outputs": []
},
{
"cell_type": "markdown",
"metadata": {
"id": "ihRm4E0DtvUg",
"colab_type": "text"
},
"source": [
"Le dataset est de type dict"
]
},
{
"cell_type": "code",
"metadata": {
"id": "o8WNBEjUsgnl",
"colab_type": "code",
"outputId": "8e10867d-fcae-46ef-eb36-b0b30131971c",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 54
}
},
"source": [
"type(dataset)"
],
"execution_count": 14,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"dict"
]
},
"metadata": {
"tags": []
},
"execution_count": 14
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "Udclb3vusvYL",
"colab_type": "code",
"outputId": "baa4734f-74ce-4ed1-de92-76f5d8d1b059",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 54
}
},
"source": [
"dataset.keys()"
],
"execution_count": 15,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"dict_keys(['test', 'train'])"
]
},
"metadata": {
"tags": []
},
"execution_count": 15
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "wyQ4kHRxtL0L",
"colab_type": "code",
"outputId": "8aa07024-b372-46e0-d73d-48beb4840cfb",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 54
}
},
"source": [
"dataset.items()"
],
"execution_count": 16,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"dict_items([('test', <DatasetV1Adapter shapes: {image: (28, 28, 1), label: ()}, types: {image: tf.uint8, label: tf.int64}>), ('train', <DatasetV1Adapter shapes: {image: (28, 28, 1), label: ()}, types: {image: tf.uint8, label: tf.int64}>)])"
]
},
"metadata": {
"tags": []
},
"execution_count": 16
}
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "mOal9GIceg93",
"colab_type": "text"
},
"source": [
"### <font color=\"olive\">Lecture avec builder</font>"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "MWZSd7EMerJt",
"colab_type": "text"
},
"source": [
"Une autre façon de faire est de lire après avoir créé un **builder**"
]
},
{
"cell_type": "code",
"metadata": {
"id": "S_Cz7Ry8csxX",
"colab_type": "code",
"colab": {}
},
"source": [
"builder = tfds.builder('mnist')"
],
"execution_count": 0,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "RYUeoso1cwZR",
"colab_type": "code",
"outputId": "5cd9b17b-d057-4aef-f4c8-c21726b795d3",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 451
}
},
"source": [
"print(builder.info)"
],
"execution_count": 18,
"outputs": [
{
"output_type": "stream",
"text": [
"tfds.core.DatasetInfo(\n",
" name='mnist',\n",
" version=3.0.0,\n",
" description='The MNIST database of handwritten digits.',\n",
" homepage='http://yann.lecun.com/exdb/mnist/',\n",
" features=FeaturesDict({\n",
" 'image': Image(shape=(28, 28, 1), dtype=tf.uint8),\n",
" 'label': ClassLabel(shape=(), dtype=tf.int64, num_classes=10),\n",
" }),\n",
" total_num_examples=70000,\n",
" splits={\n",
" 'test': 10000,\n",
" 'train': 60000,\n",
" },\n",
" supervised_keys=('image', 'label'),\n",
" citation=\"\"\"@article{lecun2010mnist,\n",
" title={MNIST handwritten digit database},\n",
" author={LeCun, Yann and Cortes, Corinna and Burges, CJ},\n",
" journal={ATT Labs [Online]. Available: http://yann. lecun. com/exdb/mnist},\n",
" volume={2},\n",
" year={2010}\n",
" }\"\"\",\n",
" redistribution_info=,\n",
")\n",
"\n"
],
"name": "stdout"
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "G3kHQEQodRaR",
"colab_type": "code",
"colab": {}
},
"source": [
"builder.download_and_prepare()"
],
"execution_count": 0,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "_9FjYYaXdYW3",
"colab_type": "code",
"outputId": "2808c57a-314f-45d1-f5b0-0a3faea53767",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 54
}
},
"source": [
"dataset = builder.as_dataset()\n",
"print(dataset)"
],
"execution_count": 20,
"outputs": [
{
"output_type": "stream",
"text": [
"{'test': <DatasetV1Adapter shapes: {image: (28, 28, 1), label: ()}, types: {image: tf.uint8, label: tf.int64}>, 'train': <DatasetV1Adapter shapes: {image: (28, 28, 1), label: ()}, types: {image: tf.uint8, label: tf.int64}>}\n"
],
"name": "stdout"
}
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "NNUKeaU0jtU4",
"colab_type": "text"
},
"source": [
"### <font color=\"olive\">Complément sur la lecture du Dataset</font>"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "Q66rdj4Yo2iL",
"colab_type": "text"
},
"source": [
"#### <font color=\"green\">with_info</font>"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "Yv2DRAtMoE6f",
"colab_type": "text"
},
"source": [
"Si on veut lire les données avec load (ce qui est recommendé), tout en gardant le bénéfice du builder (info), alors ajoutez l'argument with_info=True lors de la lecture"
]
},
{
"cell_type": "code",
"metadata": {
"id": "lOEsK2WEjsQK",
"colab_type": "code",
"colab": {}
},
"source": [
"dataset, info = tfds.load(name=\"mnist\", with_info=True)"
],
"execution_count": 0,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "v-6OrifTkCzV",
"colab_type": "code",
"outputId": "1b3ff467-51f1-4e22-fb06-925fb7235ed3",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 434
}
},
"source": [
"info"
],
"execution_count": 22,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"tfds.core.DatasetInfo(\n",
" name='mnist',\n",
" version=3.0.0,\n",
" description='The MNIST database of handwritten digits.',\n",
" homepage='http://yann.lecun.com/exdb/mnist/',\n",
" features=FeaturesDict({\n",
" 'image': Image(shape=(28, 28, 1), dtype=tf.uint8),\n",
" 'label': ClassLabel(shape=(), dtype=tf.int64, num_classes=10),\n",
" }),\n",
" total_num_examples=70000,\n",
" splits={\n",
" 'test': 10000,\n",
" 'train': 60000,\n",
" },\n",
" supervised_keys=('image', 'label'),\n",
" citation=\"\"\"@article{lecun2010mnist,\n",
" title={MNIST handwritten digit database},\n",
" author={LeCun, Yann and Cortes, Corinna and Burges, CJ},\n",
" journal={ATT Labs [Online]. Available: http://yann. lecun. com/exdb/mnist},\n",
" volume={2},\n",
" year={2010}\n",
" }\"\"\",\n",
" redistribution_info=,\n",
")"
]
},
"metadata": {
"tags": []
},
"execution_count": 22
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "MA6ezdtyjKCb",
"colab_type": "code",
"outputId": "619fcb25-90c3-4a76-8d12-f2749a354ac3",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 104
}
},
"source": [
"info.features"
],
"execution_count": 23,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"FeaturesDict({\n",
" 'image': Image(shape=(28, 28, 1), dtype=tf.uint8),\n",
" 'label': ClassLabel(shape=(), dtype=tf.int64, num_classes=10),\n",
"})"
]
},
"metadata": {
"tags": []
},
"execution_count": 23
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "RoqfSjQFjUVe",
"colab_type": "code",
"outputId": "f0a51c2b-d615-45dc-81b0-71c6709c37cc",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 54
}
},
"source": [
"info.features[\"label\"].num_classes"
],
"execution_count": 24,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"10"
]
},
"metadata": {
"tags": []
},
"execution_count": 24
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "IshPm0WFroN3",
"colab_type": "code",
"colab": {}
},
"source": [
"mnist_train, mnist_test = dataset[\"train\"], dataset[\"test\"]"
],
"execution_count": 0,
"outputs": []
},
{
"cell_type": "markdown",
"metadata": {
"id": "l9n-xXkykZo4",
"colab_type": "text"
},
"source": [
"On peut afficher quelques exemples. \n",
"\n",
"Attention, ça ne marchera pas si as_supervised=True (voir plus loin)\n",
"\n",
"<font color=\"red\">Only works with datasets that have 1 image feature and optionally 1 label feature (both inferred from ds_info). Note the dataset should be unbatched. Requires matplotlib to be installed.</font>"
]
},
{
"cell_type": "code",
"metadata": {
"id": "xi7k4Z4PkPDk",
"colab_type": "code",
"outputId": "24c4f663-55ec-43f3-ffb4-309fe73aba75",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 554
}
},
"source": [
"fig = tfds.show_examples(info, mnist_train)"
],
"execution_count": 26,
"outputs": [
{
"output_type": "display_data",
"data": {
"image/png": "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\nAIBoCAAAgGgIAACAaAgAAIBoCAAAgGgIAACAaAgAAIBoCAAAgGgIAACAaAgAAIBoCAAAgGgIAACA\naAgAAIBoCAAAgGgIAACAaAgAAIBoCAAAgKQG1Uk2M1dThaB0Oees2DXkg32NDFY655oXu4h8sLcR\nkukzmycEABC2sNgFALWJhgAAANAQAAAAGgIAACAaAgAAIBoCAAAgGgIAACAaAgAAIBoCAAAgGgIA\nACAaAgAAIBoCAAAgGgIAACAaAgAAIBoCAAAgGgIAACAaAgAAIBoCAAAgqUGxCwBQ+po2berFrr76\nai/261//2ostW7Yssu7QoYOXs2bNmjyqA8IaNWrkxd54443I+gc/+IGXc/LJJ3uxmTNnFq6wIuEJ\nAQAAoCEAAAA0BAAAQDQEAABAkjnnkiebJU9GveGcs2LXkI9y3NfxQajQ0N95553nxRo3bpz1XqHY\ne++95+X0798/a52SZBbdPi1atPByvvzyy0T3KrBK51zXYnzjQinHvV1I++67rxdbunRp1utmz57t\nxbp16+bF/vGPf+RWWA3L9JnNEwIAAEBDAAAAaAgAAIBoCAAAgMr4pMKXX37Zi/Xq1cuL3X333ZH1\nTTfdVFMlAdUSOkXtwAMP9GIjRozwYkcddVRkveuuu3o51RkojosPAh555JE53wsolttuuy2n60J/\nnpo3b+7FPv/885zuXyw8IQAAADQEAACAhgAAAKgEZwjiP7uUpPbt23ux+M9QJWnbtm1e7Lrrrous\nv/32Wy9nwoQJXiz089ePPvrIi8WddNJJXix08MuCBQu82JQpUyLrLVu2ZP1+KA2hPTBu3DgvFtrX\nScTf4CZJ8+bN82KTJ0/2YqtXr/ZiU6dOzamOkCVLlkTWmzZtKti9ge+ce+65XuzKK6/0Yklma+bM\nmePFSm1eIIQnBAAAgIYAAADQEAAAANEQAAAAleBQYceOHb3Yu+++m/P9KioqIuvQwUR15bCiv/3t\nb5F1aEhm1apVtVUO8tCnT5/IOjTMF7Ju3TovFjqEa+jQoZF1aKgwqUsuuSRrzvr16xPdK/TWxb/+\n9a+R9Zo1a5IVBlTDIYccktN18aFXSRowYEC+5dRJPCEAAAA0BAAAgIYAAACIhgAAAEiy6rzxzMxy\nfz1ajlq3bh1Zhwao4jmZrF271ovFTy/cfffdvZyk/x+FTlFMcm1oiGq33XbLev+HH37Yyxk4cGDW\n71dozjn/N15CanpfH3bYYV5s5syZkXWDBv587//+7/96sb59+3qx0NBTIXXo0MGLXXXVVZF16JS2\n66+/3ouF3gi3yy67RNYbN26sbok1pdI517XYReSjGJ/ZddXcuXO9WGjQMP6Zfeutt3o5d9xxR+EK\nK4JMn9k8IQAAADQEAACAhgAAAIiGAAAAqAROKrziiisi66QDhHfffbcXe+CBB7xYfIAp9HrimjZ7\n9mwv9vHHH2e9LnTqG+qeI444wouFhgjjzjjjDC9WjJMoQ696vfbaayPrfv36eTmhAcINGzZ4sTo0\nRIgyEdqPbdu2zeleixcvzrecksETAgAAQEMAAABoCAAAgGgIAACA6thQYY8ePbzYoEGDcrrXgw8+\n6MWWL1+e9bqnn346p++Xj4MPPjhRXvwErdNOO83Lady4sRfbtGlTboWhII466qicruvSpYsXmz59\ner7l1Iif//znifLuvffeGq4EkG655RYvtsMOyf77d8WKFZH1hAkTClJTKeAJAQAAoCEAAAA0BAAA\nQHVshiD0M/74z8Q3b97s5QwbNsyLFeMAl1xddNFFifLibzucOnWql8O8QN0zZswYLzZ48OCs1734\n4ouJ7v/cc895sfj+X7ZsmZczadIkL/bWW28l+p6XXnppZN2pUycv54svvvBit912W6L7A/kIvbU2\nqfvvvz+yDr0lt1zxhAAAANAQAAAAGgIAACAaAgAAoDo2VPjJJ594scMOOyyyXrdunZezZMmSGqup\nNuy6666J8uIHE6E0hN4WeOaZZ0bWd955p5cT2hcHHnhg1nuFxAdSJen666/3Yl999VXWe0nSbrvt\nFlmH9uaiRYu82JFHHunF3nvvvUTfEwi55JJLvNjee++d6Nr169d7sfp8eBZPCAAAAA0BAACgIQAA\nAKIhAAAAkqw6g2pmxlRbnoYMGeLFQm+Kq6io8GLxgcpzzjnHy3nllVdyLy5Hzjl/Yq2E1NV93bRp\nUy+WdKiwWbNmkXVoqDD0Zz9+AqEkNW/e3IvF75fPwOsHH3wQWYf+PEybNi3n++eh0jnXtRjfuFDq\n6t4upD/84Q9eLDRoGLJ69Wovls8ph6Ui02c2TwgAAAANAQAAoCEAAACiIQAAAKpjJxWWozvuuCOy\nvvnmm72c0MBXyKhRoyLrYgwQovaETuV8//33E8WSOPnkk73YlVdemejaysrKyHro0KFezhlnnOHF\nevfu7cWOOOKIyPovf/mLl9O5c2cvNn/+/Kx1ovzEX7V99tlnezlJh1zvueeegtRULnhCAAAAaAgA\nAAANAQAAEA0BAAAQQ4U5Cw0C/uQnP/Fi//Ef/5H1upCXXnrJi910000JqwOibrvtNi8WOhFwp512\n8mJvvPGGF4ufaBga8Bs3bpwX69Gjhxd77bXXIuvQa5932WUXL4b6qW3btpF1/FXc1TF58uR8yykr\nPCEAAAA0BAAAgIYAAACIGYJE2rRp48Vuv/12LxZ6w1aSAzI++ugjL/bTn/7Ui23dujXrvVD/NGzY\n0ItNmjQpsu7Tp4+XE9qbY8aM8WLXXHONF1uzZk11Svxe6IChuNmzZ3uxOXPm5PT9gKp0797di+V6\n0Fc54AkBAACgIQAAADQEAABANAQAAECSJX0rlCSZWfLkEnX44Yd7sbvvvtuLnX766Tndf+LEiV5s\n8ODBXmzBggU53b8YnHPJTluqo+rqvt533329WN++fb3YBRdckPXa/fbbz8sJ7etQbOPGjVXWmcnO\nO+/sxWbMmOHF2rdvH1mHDvgaO3ZsTjXkqdI517UY37hQ6urezsf48eMj63PPPTfne33zzTderGnT\npjnfr1Rk+szmCQEAAKAhAAAANAQAAEA0BAAAQJxUqFatWkXWjz76qJfTtWvuc0XxU95GjBiR871Q\nPuJvFXzooYe8nPgbBaVkJ19K0vTp0yPrm2++2ct56qmnEt0rVx07dvRi7dq182JLliyJrKdMmVJj\nNaH0/eAHPyh2CWWLJwQAAICGAAAA0BAAAADREAAAADFUqOuuuy6y7tatm5cTGuRav369F7vpppu8\n2KhRo/KoDuXgmGOO8WLDhg2LrLt06eLlmPmHid13331e7M477/Riq1atqk6JeTvggAO82OTJk71Y\n6Pd0xx13RNa5vloZqK7QybH1GU8IAAAADQEAAKAhAAAAqmczBPGfVUr+DEFoXiD0M83QQS8jR47M\nozqUq/POO8+Lde7cObJOeuDQ3LlzvVjo7Wyhn+kX0nHHHRdZh/48NGvWzIvNmzfPiz3yyCOFKwxl\n5YQTTvBihx56aE73ev/9971Y//79c7pXueIJAQAAoCEAAAA0BAAAQDQEAABAZTxUGBpouuiii7xY\ngwbR/wtCB6f8+c9/9mIMECKp0aNHe7Gzzz47sg69BTAkNIAXOoRo9913j6xD+zrpIGNI/H6bN2/2\nckJvLQz9GQQyadKkiRerqKjI6V6hg7IQxRMCAABAQwAAAGgIAACAaAgAAIDKeKiwX79+XqxNmzZZ\nr5s/f74X+/Wvf12IklBPzZkzx4t16tQpsu7Zs6eX0717dy8W2sM77bSTF+vbt281KvynUK2VlZVe\n7IsvvoisJ02a5OW89dZbOdUAfGfatGlebNCgQZH1Kaec4uWETsR89dVXC1dYmeIJAQAAoCEAAAA0\nBAAAQDQEAABAklXntDIzy/1os1rWp08fLxY6qSr++7/qqqu8HF7PWjXnnH8MXgkppX2NWlXpnOta\n7CLywd5GSKbPbJ4QAAAAGgIAAEBDAAAAREMAAABUxicVvvTSS17s7bff9mLt27fPeh0AAOWOJwQA\nAICGAAAA0BAAAACV8cFEqD0cTIQyxcFEKEscTAQAADKiIQAAADQEAACAhgAAAIiGAAAAiIYAAACI\nhgAAAIiGAAAAiIYAAACo+m87XClpYU0UgpLVutgFFAD7GiHsbZSjjPu6WkcXAwCA8sSPDAAAAA0B\nAACgIQAAAKIh+J6ZtTezWWn/W2tmgzLkDjKz/qlfP5l2zQIzm5WKdzSz0bX4WwCCzOx6M/vQzGab\n2Vgza5wh7wEz65n6dW8zm5na16+b2cGp+DVmNqA26wcyMbPHzGy5mc3Okpf+mX1+6s/DNjPrmpZT\n7z+zGSoMMLMdJS2RdIxzbmHsaw0kzZTU2Tm3Nfa1eyWtcc4NSa2nSxrgnFtUO5UDUWbWStLrkjo4\n5zaa2ThJU5xzo2N5e0qa7Jz7l9T6Y0k/dM7NNbOBko52zv2bmTWR9IZz7qja/Z0AvlQDu17SH5xz\nh2fIiXxmm9mhkrZJGilpsHNuRlpuvf7M5glBWG9J8+LNQMpJkmYGmgGT9GNJY9PCz0q6sMaqBJJp\nIGmn1AdjE0lLAznnSXohbe0k7Zr69W7fXeOc2yBpgZkdXXPlAsk4516T9HWWtMhntnNurnPuowy5\n9fozm4Yg7EJF/2JP111SZSB+vKQvnXOfpMVmpOJAUTjnlkj6jaRFkpZp+xOsFwOp8X19uaQpZva5\npEsk3ZX2NfY1Skmmz+yQer23aQhizKxC0r9K+kuGlBaSVgTi/eQ3EcsltSxcdUD1mNnukn4o6UBt\n34s7m9nFgdT4vr5e0hnOuf0kPS7pvrSvsa9RSjJ9ZofU671NQ+Dro+2Pl77M8PWNkiJDWalHsT+S\n9GQst3EqHyiWkyV95pxb4ZzbImmCpOMCed/vazNrLulI59zbqa89GbuGfY1S4n1mV6Fe720aAl/o\nv/TTzZV0cCx2sqS/O+c+j8XbSapy+hWoYYsk/YuZNUnNufTW9j0cl76vV0nazczapdanxK5hX6OU\nhD6zM6nXe5uGII2Z7aztH34Tqkh7XlLPWCzTzMGJkiYXpjqg+lL/lf+Utk9Zf6Dtf+YfCaROltQr\ndc1WSf9P0ngze0/bZwh+npbbXdK0mqsaSMbMxkp6U1J7M/vczC4LpEU+s83s3NRszLGSJpvZ1LTc\nev2ZzT87zIGZTZR0Y2yAMJ7TSNKrknrE/0UCUBeZ2euSznLOra4i5yhJNzjnLqm9yoD88JmdDA1B\nDsysvaR9Uv/kJVNOW0mtnHOv1FphQB7M7BhJG51z71eRc4qkT5xzC2qtMCBPfGYnQ0MAAACYIQAA\nADQEAABANAQAAEA0BAAAQDQEAABANAQAAEA0BAAAQDQEAABANAQAAEA0BAAAQDQEAABANAQAAEA0\nBAAAQDQEAABANAQAAEA0BAAAQDQEAABANAQAAEA0BAAAQDQEAABANAQAAEA0BAAAQDQEAABANAQA\nAEA0BAAAQDQEAABANAQAAEA0BAAAQFKD6iSbmaupQlC6nHNW7Brywb5GBiudc82LXUQ+2NsIyfSZ\nzRMCAAhbWOwCgNpEQwAAAGgIAAAADQEAABANAQAAEA0BAAAQDQEAABANAQAAEA0BAAAQDQEAABAN\nAQAAEA0BAAAQDQEAABANAQAAEA0BAAAQDQEAABANAQAAEA0BAACQ1KDYBRTC7373Oy/WpUuXRNe+\n8MILkfXChQu9nC+++MKLTZ06NWF1AIBycsghh3ixWbNmebF33nknsj7++ONrrKZC4AkBAACgIQAA\nADQEAABANAQAAEAlMFTYqFGjyHr48OFezoABA3K+/7HHHhtZO+e8nG3btnmxGTNmeLFf/epXXuzF\nF1/MuTYAQN3To0cPL7bjjjt6scMPPzyyPuigg7ycefPmFa6wPPGEAAAA0BAAAAAaAgAAIBoCAACg\nEhgqvPHGGyPrfAYIQ0JDhHE77OD3TUcffbQXCw089uvXL7IODSMCdUXPnj292IMPPujF2rdvH1nf\ncMMNXs6IESMKVxhQJH369PFioQHyBg38v043bNgQWW/atKlwhdUAnhAAAAAaAgAAQEMAAABUAjME\nLVu2zJozYcIEL/bee+95sfXr13uxP/7xj5F1/CAkSRozZowXO+6447xY6NCJRx55JLLu1q2bl/Pt\nt996MSBkl1128WJbt271YvG9GD8gRQrv4dAMQceOHbPWFT/gS2KGAKUpfsDQwIEDvZz999/fi4U+\nx//6179G1kuWLMmzuprFEz9Nef4AAAtLSURBVAIAAEBDAAAAaAgAAIBoCAAAgEpgqDA+mLRo0SIv\n55577vFihRzU69Wrlxd74YUXvNipp57qxTp16hRZ/+xnP/NyQgcaobw1adIksp4yZUqi6zZv3uzF\nDj74YC+2zz77RNaNGzf2cszMiyU5qCtk3bp1OV0H1DVDhgyJrM8666xE173zzjterH///gWpqbbw\nhAAAANAQAAAAGgIAACAaAgAAIMmqM0RkZrlNHJWhHj16eLHp06d7sYqKish6+fLlXk7ozYmh4cm6\nyjnnT6eVkGLs6z333DOyDu2LfIb+4m9VC51m+Pjjj2etS5IuuOACLxY/zS30RsTrr78+a511XKVz\nrmuxi8gHn9lVO+SQQ7xYZWVlZB0fAJbCQ+tnn322F3v++efzqK76unb1t2voDbuZPrN5QgAAAGgI\nAAAADQEAABANAQAAUAmcVFhXvf76615s6NChXuyXv/xlZL333nt7OW3atPFipTRUiOqLn+x35pln\nFvT+CxYsiKzXrl3r5SxdujTRvUJDr/HTEUP3B+qS0HDgrbfemigvbuzYsV6stgcIQzZs2JDX9Twh\nAAAANAQAAICGAAAAiIYAAACIocKCevrpp71YfKgwpGPHjl7stddeK0hNqJvirzEOvU67GJo1a+bF\nQkNW8VMU40OMQF0TOknwwgsvzHrd119/7cVGjhxZkJoKbc6cOXldzxMCAABAQwAAAGgIAACAmCGo\nE0I/23r44Ye9WOgNW0AhtW/f3ou1bNnSi8XfunjiiSd6OaG3KQK1oVevXl7siSeeSHRtfG/fcMMN\nXk7oYLpywBMCAABAQwAAAGgIAACAaAgAAIAYKiyoFStWeLGVK1dG1nvttZeXE39znCRVVFR4sY0b\nN+ZRHZBd6JCsJD744IMCVwLk7le/+pUXa9SoUaJrhw0bFlknHUYsBzwhAAAANAQAAICGAAAAiIYA\nAACoBIcKQ29jC52kFrJ161Yv9vHHH+dd03eaN2/uxUJDhHH333+/F2OAEMWQ61BhIf8cAdVx1VVX\n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\naAgAAICk/wNZrye0fV8Z5gAAAABJRU5ErkJggg==\n",
"text/plain": [
"<Figure size 648x648 with 9 Axes>"
]
},
"metadata": {
"tags": []
}
}
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "zLjPjRV41tzQ",
"colab_type": "text"
},
"source": [
"Prenons un seul élément"
]
},
{
"cell_type": "code",
"metadata": {
"id": "Y3TTqOrVzcox",
"colab_type": "code",
"colab": {}
},
"source": [
"takeone=mnist_train.take(1)"
],
"execution_count": 0,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "9TRdOgT3zmMX",
"colab_type": "code",
"colab": {}
},
"source": [
"for data in takeone:\n",
" img=data[\"image\"]\n",
" label=data[\"label\"]"
],
"execution_count": 0,
"outputs": []
},
{
"cell_type": "markdown",
"metadata": {
"id": "udKftVjw4bjG",
"colab_type": "text"
},
"source": [
"Notez que chaque élément est un dict qui contient image et label"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "pXaA2uRq2Xhz",
"colab_type": "text"
},
"source": [
"Le label de cet élément est 8"
]
},
{
"cell_type": "code",
"metadata": {
"id": "KxujkAnv0CpR",
"colab_type": "code",
"outputId": "0aff0b17-60cd-4aa3-d866-d45bab4ae9a0",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 54
}
},
"source": [
"print(label)"
],
"execution_count": 29,
"outputs": [
{
"output_type": "stream",
"text": [
"tf.Tensor(4, shape=(), dtype=int64)\n"
],
"name": "stdout"
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "gN_p1qCD14LL",
"colab_type": "code",
"outputId": "8feadef0-5a50-4bb1-eb75-baf49641fd3b",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 54
}
},
"source": [
"img.shape"
],
"execution_count": 30,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"TensorShape([28, 28, 1])"
]
},
"metadata": {
"tags": []
},
"execution_count": 30
}
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "GistHoO52eq2",
"colab_type": "text"
},
"source": [
"Affichons l'image de cet élément"
]
},
{
"cell_type": "code",
"metadata": {
"id": "CNjm5js72N17",
"colab_type": "code",
"colab": {}
},
"source": [
"my_img=img[:,:,0]"
],
"execution_count": 0,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "Sdp_Lj4H2Irc",
"colab_type": "code",
"outputId": "18f8922a-a76b-4075-f152-269e5d9737ac",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 286
}
},
"source": [
"plt.figure()\n",
"plt.imshow(my_img, cmap='gray')\n",
"plt.colorbar() #pour la barre des couleurs\n",
"plt.grid(False) #Suppression de la grille\n",
"plt.show()"
],
"execution_count": 32,
"outputs": [
{
"output_type": "display_data",
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 2 Axes>"
]
},
"metadata": {
"tags": []
}
}
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "X62ovTMf2kYq",
"colab_type": "text"
},
"source": [
"C'est bien un 8"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "XI06q2aJ4uN3",
"colab_type": "text"
},
"source": [
"#### <font color=\"green\">as_supervised</font>"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "Bl3jVEJ65Xc_",
"colab_type": "text"
},
"source": [
"Vous avez peut-être noté que les éléments du dataset sont sous la forme d'un dict, ce qui pour Keras n'est pas acceptable, il faut un tuple. La solution pour y remédier : as_supervised=True"
]
},
{
"cell_type": "code",
"metadata": {
"id": "GA_GRsT85xyf",
"colab_type": "code",
"colab": {}
},
"source": [
"dataset, info = tfds.load(name=\"mnist\", with_info=True, as_supervised=True)"
],
"execution_count": 0,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "VTubrsso6H_0",
"colab_type": "code",
"outputId": "b054ecbe-b53c-4e60-c1fb-45c640ab49b2",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 54
}
},
"source": [
"dataset.keys()"
],
"execution_count": 34,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"dict_keys(['test', 'train'])"
]
},
"metadata": {
"tags": []
},
"execution_count": 34
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "gF4EKOZ96dVR",
"colab_type": "code",
"colab": {}
},
"source": [
"mnist_train, mnist_test = dataset[\"train\"], dataset[\"test\"]"
],
"execution_count": 0,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "zHFDrkBj6kqv",
"colab_type": "code",
"colab": {}
},
"source": [
"takeone=mnist_train.take(1)"
],
"execution_count": 0,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "5zKqpwC76tFU",
"colab_type": "code",
"outputId": "01f50287-3f95-4a4c-bf00-d4ae1b7ab9f1",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 54
}
},
"source": [
"takeone"
],
"execution_count": 37,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"<DatasetV1Adapter shapes: ((28, 28, 1), ()), types: (tf.uint8, tf.int64)>"
]
},
"metadata": {
"tags": []
},
"execution_count": 37
}
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "7G9nWG347CxZ",
"colab_type": "text"
},
"source": [
"Vérifions qu'on a un tuple et non un dict"
]
},
{
"cell_type": "code",
"metadata": {
"id": "OCtfh4oh63rp",
"colab_type": "code",
"colab": {}
},
"source": [
"for data in takeone:\n",
" img=data[0]\n",
" label=data[1]"
],
"execution_count": 0,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "qF-0KgiH69WY",
"colab_type": "code",
"outputId": "8c03354a-abc2-4611-da7d-b74bcf6fb8f5",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 54
}
},
"source": [
"print (label)"
],
"execution_count": 39,
"outputs": [
{
"output_type": "stream",
"text": [
"tf.Tensor(4, shape=(), dtype=int64)\n"
],
"name": "stdout"
}
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "YO5MxCQL2RWj",
"colab_type": "text"
},
"source": [
"### <font color=\"olive\">Parcours avec un itérateur</font>"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "UZY7SBCW1YWB",
"colab_type": "text"
},
"source": [
"Supposons qu'on veuille afficher un élément du Dataset\n",
"\n",
"On peut créer un itérateur"
]
},
{
"cell_type": "code",
"metadata": {
"id": "lWfLJUVuACrv",
"colab_type": "code",
"colab": {}
},
"source": [
"dataset, info = tfds.load(name=\"mnist\", with_info=True)"
],
"execution_count": 0,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "VeSsTJf2zSoi",
"colab_type": "code",
"outputId": "adbc5796-6f18-45aa-aa75-e5e3064f84c8",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 54
}
},
"source": [
"iterator = dataset['test'].__iter__()\n",
"next_element = iterator.get_next()\n",
"type(next_element)"
],
"execution_count": 41,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"dict"
]
},
"metadata": {
"tags": []
},
"execution_count": 41
}
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "12uMt2351pLp",
"colab_type": "text"
},
"source": [
"On l'a déjà vu précédemment, chaque élément contient une image et un label"
]
},
{
"cell_type": "code",
"metadata": {
"id": "Ml_ZfP_Vzp0O",
"colab_type": "code",
"outputId": "570ab08f-4bfc-4cc9-ec86-8cb25605118a",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 54
}
},
"source": [
"next_element.keys()"
],
"execution_count": 42,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"dict_keys(['image', 'label'])"
]
},
"metadata": {
"tags": []
},
"execution_count": 42
}
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "KS9OUb8S1x4r",
"colab_type": "text"
},
"source": [
"L'image est de type tenseur"
]
},
{
"cell_type": "code",
"metadata": {
"id": "EqrgAss-zvie",
"colab_type": "code",
"outputId": "2095e47f-8c82-4d7d-fdbb-18bf46a78433",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 54
}
},
"source": [
"type(next_element[\"image\"])"
],
"execution_count": 43,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"tensorflow.python.framework.ops.EagerTensor"
]
},
"metadata": {
"tags": []
},
"execution_count": 43
}
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "Kwt_RkM22Wwg",
"colab_type": "text"
},
"source": [
"### <font color=\"olive\">Avec take</font>"
]
},
{
"cell_type": "code",
"metadata": {
"id": "-Wh4J77c1Q0s",
"colab_type": "code",
"outputId": "53e82aae-0fc0-4b77-bfa2-d807f9e5badd",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 54
}
},
"source": [
"dataset['test'].take(1)"
],
"execution_count": 44,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"<DatasetV1Adapter shapes: {image: (28, 28, 1), label: ()}, types: {image: tf.uint8, label: tf.int64}>"
]
},
"metadata": {
"tags": []
},
"execution_count": 44
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "vzNy8w_x9d5Q",
"colab_type": "code",
"colab": {}
},
"source": [
"takeone = dataset['test'].take(1)"
],
"execution_count": 0,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "e6J5VCbbQydw",
"colab_type": "code",
"colab": {}
},
"source": [
"for data in takeone:\n",
" img=data[\"image\"]\n",
" label=data[\"label\"]"
],
"execution_count": 0,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "qaxnlAkDRCHy",
"colab_type": "code",
"outputId": "8d6c5d1d-22f2-440f-a090-95b9b49519ca",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 54
}
},
"source": [
"label"
],
"execution_count": 47,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"<tf.Tensor: shape=(), dtype=int64, numpy=2>"
]
},
"metadata": {
"tags": []
},
"execution_count": 47
}
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "Pz-Xtqizpu28",
"colab_type": "text"
},
"source": [
"## <font color=\"teal\">Slicing</font>"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "GfDFY3ltpxZl",
"colab_type": "text"
},
"source": [
"Il existe 2 API pour le slicing du Dataset, une seule est présentée S3, l'autre (legacy) a vocation à disparaître"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "bLu6QeUQHOKD",
"colab_type": "text"
},
"source": [
"Sur le site de Tf, il existe 2 versions de MNIST\n",
"\n",
"La version 1.0.0 est la verion par défaut\n",
"\n",
"La version 3.0.0 supporte l'API S3 (celle qu'on va utiliser pour le slicing)\n",
"\n",
"Etant donné qu'il n'y a que 2 versions, il eut été plus logique de faire tfds.load('mnist:3.0.0)"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "68i-35MNTdMU",
"colab_type": "text"
},
"source": [
"A partir de maintenant, on utilisera systématiquement load pour charger les données (et non le builider)"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "UOxkt-juXQ7T",
"colab_type": "text"
},
"source": [
"### <font color=\"olive\">split</font>"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "jbL_o5iaT7Lt",
"colab_type": "text"
},
"source": [
"Lorsque le paramètre split est présent, c'est pour préciser ce qu'on retourne "
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "1Ug5ib9KpOgn",
"colab_type": "text"
},
"source": [
"data_dir nous permet de lire les données à partir de GCP"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "jjf78KTQpbeY",
"colab_type": "text"
},
"source": [
"Au prélable, pour s'assurer qu'un dataset est disponible sur GCS bucket gs://tfds-data/datasets"
]
},
{
"cell_type": "code",
"metadata": {
"id": "OUvjEfHSpXKW",
"colab_type": "code",
"outputId": "fe8a3d25-3a9a-48e1-8daf-9ea5baa6f946",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 54
}
},
"source": [
"tfds.is_dataset_on_gcs(\"mnist\")"
],
"execution_count": 48,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"True"
]
},
"metadata": {
"tags": []
},
"execution_count": 48
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "xWQvBUPtpt5_",
"colab_type": "code",
"colab": {}
},
"source": [
"train_ds, info = tfds.load('mnist:3.*.*', split='train', data_dir=\"gs://tfds-data/datasets\", with_info=True)"
],
"execution_count": 0,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "PubxrVJIrXmf",
"colab_type": "code",
"outputId": "a254ec20-349c-47ff-bbc1-0139cc3ab388",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 434
}
},
"source": [
"info"
],
"execution_count": 50,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"tfds.core.DatasetInfo(\n",
" name='mnist',\n",
" version=3.0.0,\n",
" description='The MNIST database of handwritten digits.',\n",
" homepage='http://yann.lecun.com/exdb/mnist/',\n",
" features=FeaturesDict({\n",
" 'image': Image(shape=(28, 28, 1), dtype=tf.uint8),\n",
" 'label': ClassLabel(shape=(), dtype=tf.int64, num_classes=10),\n",
" }),\n",
" total_num_examples=70000,\n",
" splits={\n",
" 'test': 10000,\n",
" 'train': 60000,\n",
" },\n",
" supervised_keys=('image', 'label'),\n",
" citation=\"\"\"@article{lecun2010mnist,\n",
" title={MNIST handwritten digit database},\n",
" author={LeCun, Yann and Cortes, Corinna and Burges, CJ},\n",
" journal={ATT Labs [Online]. Available: http://yann. lecun. com/exdb/mnist},\n",
" volume={2},\n",
" year={2010}\n",
" }\"\"\",\n",
" redistribution_info=,\n",
")"
]
},
"metadata": {
"tags": []
},
"execution_count": 50
}
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "PSBXlCSQXi9M",
"colab_type": "text"
},
"source": [
"On peut avoir plusieurs arguments à split\n",
"\n",
"Voir [ici](https://www.tensorflow.org/datasets/splits)"
]
},
{
"cell_type": "code",
"metadata": {
"id": "bkrcWe-KJlBI",
"colab_type": "code",
"colab": {}
},
"source": [
"# The full `train` split and the full `test` split as two distinct datasets.\n",
"train_ds, test_ds = tfds.load('mnist:3.*.*', split=['train', 'test'])"
],
"execution_count": 0,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "-NO-1rv_XsLq",
"colab_type": "code",
"colab": {}
},
"source": [
"# From record 10 (included) to record 20 (excluded) of `train` split.\n",
"train_10_20_ds = tfds.load('mnist:3.*.*', split='train[10:20]')"
],
"execution_count": 0,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "iERxm_DMYIMx",
"colab_type": "code",
"outputId": "01b5611f-ab94-4532-b10a-8bbd12950eab",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 54
}
},
"source": [
"train_10_20_ds"
],
"execution_count": 53,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"<DatasetV1Adapter shapes: {image: (28, 28, 1), label: ()}, types: {image: tf.uint8, label: tf.int64}>"
]
},
"metadata": {
"tags": []
},
"execution_count": 53
}
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "r85RhYoTaOjh",
"colab_type": "text"
},
"source": [
"Pour compter le nombre d'éléments on ne peut pas utiliser tensorflow.data.experimental.cardinality car les données sont lues à partir d'un fichier"
]
},
{
"cell_type": "code",
"metadata": {
"id": "pzP0bRwAYQAv",
"colab_type": "code",
"colab": {}
},
"source": [
"num_elements = 0\n",
"for element in train_10_20_ds:\n",
" num_elements += 1"
],
"execution_count": 0,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "QtE_MlbuYtxp",
"colab_type": "code",
"outputId": "d3b8650f-881c-4039-f358-80a8bf8f6eb6",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 54
}
},
"source": [
"num_elements"
],
"execution_count": 55,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"10"
]
},
"metadata": {
"tags": []
},
"execution_count": 55
}
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "EdK6W9xfalMi",
"colab_type": "text"
},
"source": [
"On peut demander un pourcentage de l'effectif"
]
},
{
"cell_type": "code",
"metadata": {
"id": "rx_F_MMJZQhJ",
"colab_type": "code",
"colab": {}
},
"source": [
"# The first 10% of train + the last 80% of train.\n",
"train_10_80pct_ds = tfds.load('mnist:3.*.*', split='train[:10%]+train[-80%:]')"
],
"execution_count": 0,
"outputs": []
},
{
"cell_type": "markdown",
"metadata": {
"id": "JxDNTzbPbNsg",
"colab_type": "text"
},
"source": [
"### <font color=\"olive\">pourcentages et autres API\n",
"\n",
"```\n",
"# Ce texte est au format code\n",
"```\n",
"\n",
"</font>"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "Oc98L-hvbFKd",
"colab_type": "text"
},
"source": [
"Pour aller plus loin, voir [ici](https://www.tensorflow.org/datasets/splits)"
]
},
{
"cell_type": "code",
"metadata": {
"id": "1TqKgjj8oi3Q",
"colab_type": "code",
"outputId": "f24d18dc-cd3e-4752-e67b-039c974ce45f",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 54
}
},
"source": [
"tfds.is_dataset_on_gcs(\"mnist\")"
],
"execution_count": 57,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"True"
]
},
"metadata": {
"tags": []
},
"execution_count": 57
}
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "WTlzcR3OsydT",
"colab_type": "text"
},
"source": [
"## <font color=\"teal\">Pipelines</font>"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "c8KFILIWuRts",
"colab_type": "text"
},
"source": [
"<font color=\"blue\">Here we'll repeat the dataset so that we have an infinite stream of examples, shuffle, and create batches of 32.</font>"
]
},
{
"cell_type": "code",
"metadata": {
"id": "Bvq4u1rYo4rj",
"colab_type": "code",
"colab": {}
},
"source": [
"train_ds, info = tfds.load('mnist:3.*.*', split='train', data_dir=\"gs://tfds-data/datasets\", with_info=True, as_supervised=True)\n",
"mnist_train = train_ds.repeat().shuffle(1024).batch(32)"
],
"execution_count": 0,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "2gnGNnv1uo_T",
"colab_type": "code",
"outputId": "2664c7e0-ca55-4715-9fdf-7e831d731efb",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 54
}
},
"source": [
"type(mnist_train)"
],
"execution_count": 59,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"tensorflow.python.data.ops.dataset_ops.DatasetV1Adapter"
]
},
"metadata": {
"tags": []
},
"execution_count": 59
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "1WJm3Kl4uvFo",
"colab_type": "code",
"colab": {}
},
"source": [
""
],
"execution_count": 0,
"outputs": []
}
]
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment