Skip to content

Instantly share code, notes, and snippets.

@ia35
Created May 3, 2019 14:28
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/b4a5a28b1db9ec72993476a2cb651655 to your computer and use it in GitHub Desktop.
Save ia35/b4a5a28b1db9ec72993476a2cb651655 to your computer and use it in GitHub Desktop.
dl_MNIST.ipynb
Display the source blob
Display the rendered blob
Raw
{
"nbformat": 4,
"nbformat_minor": 0,
"metadata": {
"colab": {
"name": "dl_MNIST.ipynb",
"version": "0.3.2",
"provenance": [],
"collapsed_sections": [],
"include_colab_link": true
},
"kernelspec": {
"name": "python3",
"display_name": "Python 3"
},
"accelerator": "GPU"
},
"cells": [
{
"cell_type": "markdown",
"metadata": {
"id": "view-in-github",
"colab_type": "text"
},
"source": [
"<a href=\"https://colab.research.google.com/gist/ia35/b4a5a28b1db9ec72993476a2cb651655/dl_mnist.ipynb\" target=\"_parent\"><img src=\"https://colab.research.google.com/assets/colab-badge.svg\" alt=\"Open In Colab\"/></a>"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "Itjfrv8IwR_j",
"colab_type": "text"
},
"source": [
"# Lecture des données MNIST\n",
"Il existe de nombreuses façons de lire la base de données MNIST"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "DXg9kDK9wfIM",
"colab_type": "text"
},
"source": [
"## Avec sklearn"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "zLvpmieow-aA",
"colab_type": "text"
},
"source": [
"###Avec fetch_mldata\n",
"\n",
"fetch_mldata permet de lire des datasets hébergés par [openml.org](https://www.openml.org/home)\n",
"\n",
"*openml.org is a public repository for machine learning data and experiments, that allows everybody to upload open datasets.*"
]
},
{
"cell_type": "code",
"metadata": {
"id": "jKpOGOdIwPdB",
"colab_type": "code",
"outputId": "9f857aed-a3e5-4db7-c128-873cc4e07d9e",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 295
}
},
"source": [
"from sklearn.datasets import fetch_mldata\n",
"mnist = fetch_mldata('MNIST original')\n",
"mnist"
],
"execution_count": 0,
"outputs": [
{
"output_type": "stream",
"text": [
"/usr/local/lib/python3.6/dist-packages/sklearn/utils/deprecation.py:77: DeprecationWarning: Function fetch_mldata is deprecated; fetch_mldata was deprecated in version 0.20 and will be removed in version 0.22\n",
" warnings.warn(msg, category=DeprecationWarning)\n",
"/usr/local/lib/python3.6/dist-packages/sklearn/utils/deprecation.py:77: DeprecationWarning: Function mldata_filename is deprecated; mldata_filename was deprecated in version 0.20 and will be removed in version 0.22\n",
" warnings.warn(msg, category=DeprecationWarning)\n"
],
"name": "stderr"
},
{
"output_type": "execute_result",
"data": {
"text/plain": [
"{'COL_NAMES': ['label', 'data'],\n",
" 'DESCR': 'mldata.org dataset: mnist-original',\n",
" 'data': array([[0, 0, 0, ..., 0, 0, 0],\n",
" [0, 0, 0, ..., 0, 0, 0],\n",
" [0, 0, 0, ..., 0, 0, 0],\n",
" ...,\n",
" [0, 0, 0, ..., 0, 0, 0],\n",
" [0, 0, 0, ..., 0, 0, 0],\n",
" [0, 0, 0, ..., 0, 0, 0]], dtype=uint8),\n",
" 'target': array([0., 0., 0., ..., 9., 9., 9.])}"
]
},
"metadata": {
"tags": []
},
"execution_count": 31
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "GJ0WDMgotA5b",
"colab_type": "code",
"outputId": "6c214fc4-b8f7-4409-dbf9-ea751c51cbba",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 34
}
},
"source": [
"len(mnist.data)"
],
"execution_count": 0,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"70000"
]
},
"metadata": {
"tags": []
},
"execution_count": 33
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "8oLNgIFX2CT7",
"colab_type": "code",
"colab": {}
},
"source": [
"img = mnist.data[0]"
],
"execution_count": 0,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "8D-hmGxd2MPN",
"colab_type": "code",
"outputId": "3b77636b-ca74-467e-d5c7-62569da02f9d",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 34
}
},
"source": [
"img.shape"
],
"execution_count": 0,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"(784,)"
]
},
"metadata": {
"tags": []
},
"execution_count": 51
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "Jeis-PSU2Yb8",
"colab_type": "code",
"colab": {}
},
"source": [
"img2 = img.reshape(28,28)"
],
"execution_count": 0,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "wTtRIfXn1G83",
"colab_type": "code",
"outputId": "0e4325c2-e7e6-4f54-e2bb-14dd64f01898",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 269
}
},
"source": [
"import matplotlib.pyplot as plt\n",
"imgplot = plt.imshow(img2, cmap='gray')\n",
"plt.show()"
],
"execution_count": 0,
"outputs": [
{
"output_type": "display_data",
"data": {
"image/png": "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\nJBF+ICjCDwRF+IGgCD8QFOEHgiL8QFCM8wOTDOP8AJIIPxAU4QeCIvxAUIQfCIrwA0ERfiCo3PCb\n2QVm9oKZvW1mb5nZLdnyVWa2z8x2Zz8L298ugKLknuRjZl2Sutx9l5l9TdKrkpZIukHSYXd/oOGN\ncZIP0HaNnuTzlQaeaFjScHZ71MzekXR+a+0BKNtJHfOb2SxJcyT9Llu00sxeN7N1ZnZWnXX6zGzQ\nzAZb6hRAoRo+t9/Mpkl6UdI/u/szZjZD0gFJLumfVDs0+H7Oc/C2H2izRt/2NxR+M/uqpF9K2uHu\nq8epz5L0S3e/OOd5CD/QZoV9scdql459QtI7Y4OffRB43HclvXmyTQIoTyOf9s+X9BtJb0g6li2+\nU9IySd2qve3fK2lF9uFg6rnY8wNtVujb/qIQfqD9+D4/gCTCDwRF+IGgCD8QFOEHgiL8QFCEHwiK\n8ANBEX4gKMIPBEX4gaAIPxAU4QeCIvxAULkX8CzYAUl/GnP/69myKqpqb1XtS6K3ZhXZ2182+sCO\nfp//Sxs3G3T3ntIaSKhqb1XtS6K3ZpXVG2/7gaAIPxBU2eFfW/L2U6raW1X7kuitWaX0VuoxP4Dy\nlL3nB1CSUsJvZteY2e/NbI+Z3V5GD/WY2V4zeyObebjUKcayadBGzOzNMcvONrNfm9m72e9xp0kr\nqbdKzNycmFm61NeuajNed/xtv5mdKukPkq6WNCTpFUnL3P3tjjZSh5ntldTj7qWPCZvZX0s6LGnD\n8dmQzOx+SQfd/afZP5xnufuPK9LbKp3kzM1t6q3ezNLfU4mvXZEzXhehjD3/PEl73P2P7n5E0mZJ\ni0voo/Lc/SVJB7+weLGk9dnt9ar98XRcnd4qwd2H3X1XdntU0vGZpUt97RJ9laKM8J8v6c9j7g+p\nWlN+u6RfmdmrZtZXdjPjmDFmZqQPJM0os5lx5M7c3ElfmFm6Mq9dMzNeF40P/L5svrtfJunvJf0w\ne3tbSV47ZqvScM0aSd9UbRq3YUkPltlMNrP0Vkk/cvdDY2tlvnbj9FXK61ZG+PdJumDM/ZnZskpw\n933Z7xFJz6p2mFIl+49Pkpr9Him5n//n7vvd/ai7H5P0M5X42mUzS2+VtNHdn8kWl/7ajddXWa9b\nGeF/RdJsM/uGmU2RtFTS9hL6+BIzOyP7IEZmdoak76h6sw9vl7Q8u71c0rYSezlBVWZurjeztEp+\n7So347W7d/xH0kLVPvH/H0k/KaOHOn39laT/yn7eKrs3SZtUexv4v6p9NvIDSedI2inpXUn/Kens\nCvX2r6rN5vy6akHrKqm3+aq9pX9d0u7sZ2HZr12ir1JeN87wA4LiAz8gKMIPBEX4gaAIPxAU4QeC\nIvxAUIQfCIrwA0H9H/00nuWz++2XAAAAAElFTkSuQmCC\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"tags": []
}
}
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "h7SyMVSE33GP",
"colab_type": "text"
},
"source": [
"Lors de la lecture, un package de 70 000 images de taille 28*28 est lu. Les images qui servent à l'apprentissage ne sont pas distinguées de celles qui serviront au test."
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "CiK9Pql8xtnd",
"colab_type": "text"
},
"source": [
"### Avec load_digits\n",
"*Load and return the [digits dataset](https://scikit-learn.org/stable/modules/generated/sklearn.datasets.load_digits.html) (classification).*\n",
"\n",
"Notez qu'avec load_digits, seulement 1797 images sont lues alors qu'avec fetch_mldata, 70 000 images sont lues\n",
"\n",
"D'autre part, les images sont ici au format 8*8"
]
},
{
"cell_type": "code",
"metadata": {
"id": "ZmdBZJ_GtEaE",
"colab_type": "code",
"colab": {}
},
"source": [
"from sklearn.datasets import load_digits\n",
"digits = load_digits()"
],
"execution_count": 0,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "HW5gJ1_ltWuC",
"colab_type": "code",
"outputId": "6de45dce-1599-490c-ecc0-d46e32d587d8",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 153
}
},
"source": [
"img = digits.images[0] ; img"
],
"execution_count": 0,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"array([[ 0., 0., 5., 13., 9., 1., 0., 0.],\n",
" [ 0., 0., 13., 15., 10., 15., 5., 0.],\n",
" [ 0., 3., 15., 2., 0., 11., 8., 0.],\n",
" [ 0., 4., 12., 0., 0., 8., 8., 0.],\n",
" [ 0., 5., 8., 0., 0., 9., 8., 0.],\n",
" [ 0., 4., 11., 0., 1., 12., 7., 0.],\n",
" [ 0., 2., 14., 5., 10., 12., 0., 0.],\n",
" [ 0., 0., 6., 13., 10., 0., 0., 0.]])"
]
},
"metadata": {
"tags": []
},
"execution_count": 56
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "_KlGMi77vFSj",
"colab_type": "code",
"outputId": "6038a7e3-c426-4278-9b8b-d5a8c22ce30c",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 34
}
},
"source": [
"type(img)"
],
"execution_count": 0,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"numpy.ndarray"
]
},
"metadata": {
"tags": []
},
"execution_count": 57
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "2cv0PTVxwFWk",
"colab_type": "code",
"outputId": "13df2fc3-f883-4fd0-9b0b-065e6787e9fd",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 34
}
},
"source": [
"img.shape"
],
"execution_count": 0,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"(8, 8)"
]
},
"metadata": {
"tags": []
},
"execution_count": 58
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "MXUMUw6ctXea",
"colab_type": "code",
"outputId": "0e37e0af-d63f-4c7c-a475-7c755f4bcd03",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 269
}
},
"source": [
"import matplotlib.pyplot as plt\n",
"imgplot = plt.imshow(img, cmap='gray')\n",
"plt.show()"
],
"execution_count": 0,
"outputs": [
{
"output_type": "display_data",
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAPgAAAD8CAYAAABaQGkdAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4zLCBo\ndHRwOi8vbWF0cGxvdGxpYi5vcmcvnQurowAACrdJREFUeJzt3V+IXOUZx/Hfr6vSWq2G1hbZDU0i\nEpBCjQkBSRGaxBKraC9qSEChUlhvFKUFjb3rnVdiL4oQolYwVbpRQcRqE1Ss0Fp3Y2xNNpZ0sWQX\nbSKJRL1oSHx6sScQJXbOZs5558zj9wOL+2fY95nEb87Z2ZnzOiIEIKevDHoAAO0hcCAxAgcSI3Ag\nMQIHEiNwIDECBxIjcCAxAgcSO6eNb2o75dPjFi1aVHS90dHRYmsdO3as2Fpzc3PF1jp58mSxtUqL\nCPe6TSuBZ7V+/fqi691///3F1tq1a1extbZs2VJsraNHjxZbq4s4RQcSI3AgMQIHEiNwIDECBxIj\ncCAxAgcSI3AgsVqB295g+x3bB2yXe5YCgL70DNz2iKTfSrpO0hWSNtu+ou3BAPSvzhF8taQDETET\nEcclPSnppnbHAtCEOoGPSjp42sez1ecAdFxjLzaxPS5pvKnvB6B/dQKfk7T4tI/Hqs99RkRslbRV\nyvtyUWDY1DlFf0PS5baX2j5P0iZJz7Y7FoAm9DyCR8QJ23dIelHSiKRHImJv65MB6Futn8Ej4nlJ\nz7c8C4CG8Uw2IDECBxIjcCAxAgcSI3AgMQIHEiNwIDECBxJjZ5MFKLnTiCQtW7as2Folt2U6cuRI\nsbU2btxYbC1JmpiYKLpeLxzBgcQIHEiMwIHECBxIjMCBxAgcSIzAgcQIHEiMwIHE6uxs8ojtQ7bf\nLjEQgObUOYL/TtKGlucA0IKegUfEq5LKPXkYQGP4GRxIjK2LgMQaC5yti4Du4RQdSKzOr8mekPQX\nScttz9r+eftjAWhCnb3JNpcYBEDzOEUHEiNwIDECBxIjcCAxAgcSI3AgMQIHEiNwILGh37po5cqV\nxdYquZWQJF122WXF1pqZmSm21s6dO4utVfL/D4mtiwAUROBAYgQOJEbgQGIEDiRG4EBiBA4kRuBA\nYgQOJEbgQGJ1Lrq42PbLtvfZ3mv7rhKDAehfneein5D0y4jYbftCSVO2d0bEvpZnA9CnOnuTvRcR\nu6v3P5I0LWm07cEA9G9BryazvUTSCkmvn+FrbF0EdEztwG1fIOkpSXdHxLHPf52ti4DuqfUouu1z\nNR/39oh4ut2RADSlzqPolvSwpOmIeKD9kQA0pc4RfI2kWyWttb2nevtxy3MBaECdvclek+QCswBo\nGM9kAxIjcCAxAgcSI3AgMQIHEiNwIDECBxIjcCCxod+bbNGiRcXWmpqaKraWVHa/sJJK/zl+mXEE\nBxIjcCAxAgcSI3AgMQIHEiNwIDECBxIjcCAxAgcSq3PRxa/a/pvtt6qti35dYjAA/avzVNX/Slob\nER9Xl09+zfYfI+KvLc8GoE91LroYkj6uPjy3emNjA2AI1N34YMT2HkmHJO2MiDNuXWR70vZk00MC\nODu1Ao+IkxFxpaQxSattf+8Mt9kaEasiYlXTQwI4Owt6FD0iPpT0sqQN7YwDoEl1HkW/xPbF1ftf\nk3StpP1tDwagf3UeRb9U0mO2RzT/D8IfIuK5dscC0IQ6j6L/XfN7ggMYMjyTDUiMwIHECBxIjMCB\nxAgcSIzAgcQIHEiMwIHE2LpoAXbt2lVsrcxK/p0dPXq02FpdxBEcSIzAgcQIHEiMwIHECBxIjMCB\nxAgcSIzAgcQIHEisduDVtdHftM312IAhsZAj+F2SptsaBEDz6u5sMibpeknb2h0HQJPqHsEflHSP\npE9bnAVAw+psfHCDpEMRMdXjduxNBnRMnSP4Gkk32n5X0pOS1tp+/PM3Ym8yoHt6Bh4R90XEWEQs\nkbRJ0ksRcUvrkwHoG78HBxJb0BVdIuIVSa+0MgmAxnEEBxIjcCAxAgcSI3AgMQIHEiNwIDECBxIj\ncCCxod+6qOTWNCtXriy2VmkltxMq+ec4MTFRbK0u4ggOJEbgQGIEDiRG4EBiBA4kRuBAYgQOJEbg\nQGIEDiRW65ls1RVVP5J0UtIJrpwKDIeFPFX1hxHxQWuTAGgcp+hAYnUDD0l/sj1le7zNgQA0p+4p\n+g8iYs72tyXttL0/Il49/QZV+MQPdEitI3hEzFX/PSTpGUmrz3Abti4COqbO5oNft33hqfcl/UjS\n220PBqB/dU7RvyPpGdunbv/7iHih1akANKJn4BExI+n7BWYB0DB+TQYkRuBAYgQOJEbgQGIEDiRG\n4EBiBA4kRuBAYo6I5r+p3fw3/QLLli0rtZQmJyeLrSVJt99+e7G1br755mJrlfw7W7Uq70sjIsK9\nbsMRHEiMwIHECBxIjMCBxAgcSIzAgcQIHEiMwIHECBxIrFbgti+2vcP2ftvTtq9uezAA/at7XfTf\nSHohIn5q+zxJ57c4E4CG9Azc9kWSrpH0M0mKiOOSjrc7FoAm1DlFXyrpsKRHbb9pe1t1fXQAHVcn\n8HMkXSXpoYhYIekTSVs+fyPb47YnbZd9yRWAL1Qn8FlJsxHxevXxDs0H/xlsXQR0T8/AI+J9SQdt\nL68+tU7SvlanAtCIuo+i3ylpe/UI+oyk29obCUBTagUeEXskceoNDBmeyQYkRuBAYgQOJEbgQGIE\nDiRG4EBiBA4kRuBAYgQOJDb0e5OVND4+XnS9e++9t9haU1NTxdbauHFjsbUyY28y4EuOwIHECBxI\njMCBxAgcSIzAgcQIHEiMwIHECBxIrGfgtpfb3nPa2zHbd5cYDkB/el50MSLekXSlJNkekTQn6ZmW\n5wLQgIWeoq+T9K+I+HcbwwBoVt3rop+ySdITZ/qC7XFJZV+NAeD/qn0ErzY9uFHSxJm+ztZFQPcs\n5BT9Okm7I+I/bQ0DoFkLCXyzvuD0HEA31Qq82g/8WklPtzsOgCbV3ZvsE0nfbHkWAA3jmWxAYgQO\nJEbgQGIEDiRG4EBiBA4kRuBAYgQOJNbW1kWHJS30JaXfkvRB48N0Q9b7xv0anO9GxCW9btRK4GfD\n9mTWV6JlvW/cr+7jFB1IjMCBxLoU+NZBD9CirPeN+9VxnfkZHEDzunQEB9CwTgRue4Ptd2wfsL1l\n0PM0wfZi2y/b3md7r+27Bj1Tk2yP2H7T9nODnqVJti+2vcP2ftvTtq8e9Ez9GPgpenWt9X9q/oox\ns5LekLQ5IvYNdLA+2b5U0qURsdv2hZKmJP1k2O/XKbZ/IWmVpG9ExA2Dnqcpth+T9OeI2FZdaPT8\niPhw0HOdrS4cwVdLOhARMxFxXNKTkm4a8Ex9i4j3ImJ39f5HkqYljQ52qmbYHpN0vaRtg56lSbYv\nknSNpIclKSKOD3PcUjcCH5V08LSPZ5UkhFNsL5G0QtLrg52kMQ9KukfSp4MepGFLJR2W9Gj148e2\n6nqEQ6sLgadm+wJJT0m6OyKODXqeftm+QdKhiJga9CwtOEfSVZIeiogVkj6RNNSPCXUh8DlJi0/7\neKz63NCzfa7m494eEVmuSLtG0o2239X8j1NrbT8+2JEaMytpNiJOnWnt0HzwQ6sLgb8h6XLbS6sH\nNTZJenbAM/XNtjX/s9x0RDww6HmaEhH3RcRYRCzR/N/VSxFxy4DHakREvC/poO3l1afWSRrqB0UX\nujdZ4yLihO07JL0oaUTSIxGxd8BjNWGNpFsl/cP2nupzv4qI5wc4E3q7U9L26mAzI+m2Ac/Tl4H/\nmgxAe7pwig6gJQQOJEbgQGIEDiRG4EBiBA4kRuBAYgQOJPY/qbaNczQ1iIEAAAAASUVORK5CYII=\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"tags": []
}
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "p67fOoIZub66",
"colab_type": "code",
"outputId": "55dd0bd4-79af-4147-9f9d-69d4159f0bcd",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 34
}
},
"source": [
"len(digits.data)"
],
"execution_count": 0,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"1797"
]
},
"metadata": {
"tags": []
},
"execution_count": 40
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "aJBM1d3-yW6e",
"colab_type": "code",
"colab": {}
},
"source": [
""
],
"execution_count": 0,
"outputs": []
},
{
"cell_type": "markdown",
"metadata": {
"id": "3fdSulUb5S4z",
"colab_type": "text"
},
"source": [
"## Avec fastai\n",
"fastai propose plusieurs versions de MNIST"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "rC70_rxo6FyK",
"colab_type": "text"
},
"source": [
"###tiny\n",
"La version tiny ne comprend que les 3 et les 7"
]
},
{
"cell_type": "code",
"metadata": {
"id": "604lwrmj5Ylb",
"colab_type": "code",
"colab": {}
},
"source": [
"from fastai.vision import *\n",
"mnist = untar_data(URLs.MNIST_TINY)"
],
"execution_count": 0,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "MRkv_m575exE",
"colab_type": "code",
"outputId": "52282328-19f4-4e78-c7b2-01c2381c09f0",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 34
}
},
"source": [
"type(mnist)"
],
"execution_count": 0,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"pathlib.PosixPath"
]
},
"metadata": {
"tags": []
},
"execution_count": 62
}
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "zqV6w2de7AZe",
"colab_type": "text"
},
"source": [
"Lorsque les données sont lues, les images sont réparties dans des dossiers différents (test, train, valid)"
]
},
{
"cell_type": "code",
"metadata": {
"id": "9o04XQ9S508S",
"colab_type": "code",
"outputId": "a4a3e12b-4fe5-4f6f-a2bc-1e7d3b5cb049",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 63
}
},
"source": [
"!ls /root/.fastai/data/mnist_tiny"
],
"execution_count": 0,
"outputs": [
{
"output_type": "stream",
"text": [
"labels.csv models test train valid\n"
],
"name": "stdout"
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "Wvtobfgw58VM",
"colab_type": "code",
"outputId": "796f1f86-92b5-44da-9aa9-271dc261666c",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 63
}
},
"source": [
"!ls /root/.fastai/data/mnist_tiny/train"
],
"execution_count": 0,
"outputs": [
{
"output_type": "stream",
"text": [
"3 7\n"
],
"name": "stdout"
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "R1rt308s6Bmr",
"colab_type": "code",
"outputId": "f838aee4-36f0-4a27-f8f3-3f340a3d0877",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 794
}
},
"source": [
"!ls /root/.fastai/data/mnist_tiny/train/3"
],
"execution_count": 0,
"outputs": [
{
"output_type": "stream",
"text": [
"7030.png 7455.png 7832.png 8227.png\t8635.png 8941.png 9319.png 966.png\n",
"7031.png 7463.png 7841.png 8228.png\t8643.png 8946.png 9324.png 9670.png\n",
"7043.png 7483.png 7861.png 8230.png\t8663.png 8948.png 9335.png 9679.png\n",
"7046.png 7497.png 7862.png 8236.png\t8672.png 8957.png 9355.png 9680.png\n",
"7058.png 74.png 7878.png 8241.png\t867.png 8958.png 9363.png 9685.png\n",
"7065.png 7501.png 7881.png 8246.png\t8684.png 895.png 9380.png 9696.png\n",
"7067.png 7507.png 789.png 8254.png\t8693.png 8967.png 9386.png 9706.png\n",
"7080.png 7521.png 7915.png 8259.png\t86.png\t 8976.png 9400.png 9730.png\n",
"7097.png 752.png 7935.png 8264.png\t8700.png 9004.png 9401.png 9739.png\n",
"7106.png 7556.png 7966.png 8279.png\t8708.png 9006.png 9403.png 9759.png\n",
"7123.png 7569.png 7976.png 8295.png\t8709.png 9037.png 9411.png 975.png\n",
"7132.png 7582.png 7980.png 8338.png\t8710.png 9053.png 9412.png 9766.png\n",
"7134.png 7584.png 7982.png 8350.png\t8716.png 9059.png 9413.png 9778.png\n",
"7147.png 7590.png 7987.png 8360.png\t8729.png 9065.png 9418.png 9779.png\n",
"7150.png 7600.png 7.png 8381.png\t874.png 9074.png 9420.png 9786.png\n",
"7156.png 760.png 8012.png 8395.png\t8756.png 9078.png 9424.png 9797.png\n",
"715.png 7613.png 8013.png 8405.png\t875.png 9080.png 9427.png 9812.png\n",
"7162.png 7618.png 8014.png 8406.png\t8762.png 9089.png 9443.png 9829.png\n",
"7189.png 7625.png 8017.png 840.png\t8765.png 909.png 9466.png 983.png\n",
"7192.png 7626.png 8018.png 8425.png\t8771.png 9107.png 9482.png 9848.png\n",
"7209.png 7634.png 8039.png 8427.png\t8773.png 9140.png 9491.png 9851.png\n",
"7214.png 7635.png 8048.png 843.png\t8786.png 9141.png 9511.png 9864.png\n",
"7225.png 7655.png 8052.png 8447.png\t878.png 9146.png 9516.png 9868.png\n",
"7250.png 7660.png 8054.png 8450.png\t8790.png 9153.png 9520.png 9871.png\n",
"7261.png 7666.png 8055.png 8455.png\t8794.png 9168.png 9529.png 9879.png\n",
"7263.png 7672.png 8065.png 8475.png\t8795.png 9180.png 953.png 98.png\n",
"7283.png 7675.png 8075.png 8494.png\t8800.png 9182.png 9553.png 9904.png\n",
"7288.png 7678.png 8077.png 8498.png\t8808.png 9183.png 9561.png 9913.png\n",
"7293.png 767.png 808.png 8505.png\t8816.png 9184.png 9592.png 9915.png\n",
"7295.png 7692.png 8094.png 8524.png\t8818.png 9192.png 9602.png 9916.png\n",
"731.png 7698.png 8099.png 8528.png\t8821.png 9226.png 9610.png 992.png\n",
"7322.png 7701.png 8115.png 8537.png\t8824.png 9230.png 9612.png 9932.png\n",
"7332.png 7721.png 811.png 8541.png\t8830.png 9253.png 9617.png 9953.png\n",
"7336.png 7745.png 8120.png 8544.png\t8865.png 9255.png 9620.png 9959.png\n",
"7339.png 7762.png 8122.png 8551.png\t8879.png 9268.png 9621.png 9974.png\n",
"7367.png 7765.png 8135.png 8554.png\t8880.png 9272.png 9623.png 9977.png\n",
"7383.png 7766.png 8163.png 8557.png\t8882.png 9278.png 9624.png 998.png\n",
"7387.png 7767.png 8164.png 8568.png\t8884.png 9279.png 9636.png 9991.png\n",
"7396.png 7771.png 8169.png 856.png\t8888.png 9289.png 9637.png\n",
"7397.png 7778.png 8184.png 857.png\t8893.png 9293.png 9638.png\n",
"7412.png 7784.png 8188.png 8597.png\t8907.png 9294.png 9639.png\n",
"7415.png 7794.png 8192.png 8605.png\t890.png 9300.png 9648.png\n",
"7422.png 7800.png 8195.png 8606.png\t8923.png 9302.png 9663.png\n",
"7433.png 7803.png 8200.png 861.png\t8936.png 9303.png 9664.png\n"
],
"name": "stdout"
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "KUsXYq_5-AbZ",
"colab_type": "code",
"outputId": "50c8ed5c-42a9-41d9-a454-dcecf1ae0816",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 34
}
},
"source": [
"import os\n",
"\n",
"img_folder_path = '/root/.fastai/data/mnist_tiny/train/3'\n",
"dirListing = os.listdir(img_folder_path)\n",
"\n",
"print(len(dirListing))"
],
"execution_count": 0,
"outputs": [
{
"output_type": "stream",
"text": [
"346\n"
],
"name": "stdout"
}
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "mb-1VjTw-w9P",
"colab_type": "text"
},
"source": [
"Le dossier train/3 comprend 346 images"
]
},
{
"cell_type": "code",
"metadata": {
"id": "uPNk2a8S6PvW",
"colab_type": "code",
"colab": {}
},
"source": [
"data = (ImageList.from_folder(mnist)\n",
" .split_by_folder() \n",
" .label_from_folder()\n",
" .databunch()\n",
" )"
],
"execution_count": 0,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "AqGQ6QiH6bbw",
"colab_type": "code",
"outputId": "2dad0961-ba67-479b-f972-82d1ef062b0a",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 297
}
},
"source": [
"data.show_batch(rows=3, figsize=(4,4))"
],
"execution_count": 0,
"outputs": [
{
"output_type": "display_data",
"data": {
"image/png": "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\n3sOVfgAAAABJRU5ErkJggg==\n",
"text/plain": [
"<Figure size 288x288 with 9 Axes>"
]
},
"metadata": {
"tags": []
}
}
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "P0COE1F3-7bH",
"colab_type": "text"
},
"source": [
"###samples"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "K0hjJ8ZF_0Al",
"colab_type": "text"
},
"source": [
"Tout comme tiny, cette version ne comprend que des 3 et des 7"
]
},
{
"cell_type": "code",
"metadata": {
"id": "q1No8fy16h6Y",
"colab_type": "code",
"colab": {}
},
"source": [
"from fastai.vision import *\n",
"mnist = untar_data(URLs.MNIST_SAMPLE)"
],
"execution_count": 0,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "Ho8W_yw3_bI9",
"colab_type": "code",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 80
},
"outputId": "0d4abd41-30aa-4e02-e0a2-ed1dd1d48d8a"
},
"source": [
"!ls /root/.fastai/data"
],
"execution_count": 103,
"outputs": [
{
"output_type": "stream",
"text": [
"mnist_png mnist_sample\t mnist_tiny\n",
"mnist_png.tgz mnist_sample.tgz mnist_tiny.tgz\n"
],
"name": "stdout"
}
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "D0UR7oisCvWL",
"colab_type": "text"
},
"source": [
"## Avec Keras"
]
},
{
"cell_type": "code",
"metadata": {
"id": "rGRjyBDCAFHJ",
"colab_type": "code",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 68
},
"outputId": "26325780-b7e3-4d89-c906-17d976262c09"
},
"source": [
"from keras.datasets import mnist\n",
"\n",
"(train_images, train_labels), (test_images, test_labels) = mnist.load_data()"
],
"execution_count": 112,
"outputs": [
{
"output_type": "stream",
"text": [
"Using TensorFlow backend.\n"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"Downloading data from https://s3.amazonaws.com/img-datasets/mnist.npz\n",
"11493376/11490434 [==============================] - 1s 0us/step\n"
],
"name": "stdout"
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "7s5rho0xCtaG",
"colab_type": "code",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 34
},
"outputId": "accb367a-f342-40fe-b2c8-f2cac0a904da"
},
"source": [
"train_images.shape"
],
"execution_count": 113,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"(60000, 28, 28)"
]
},
"metadata": {
"tags": []
},
"execution_count": 113
}
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "QVHUBr42C32S",
"colab_type": "text"
},
"source": [
"Ce qui est bien avec Keras : \n",
"- les 70 000 images sont lues\n",
"- les images sont réparties en training set et test set\n",
"- les labels sont lues"
]
},
{
"cell_type": "code",
"metadata": {
"id": "oqO--0xhC0rO",
"colab_type": "code",
"colab": {}
},
"source": [
"img = train_images[0]"
],
"execution_count": 0,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "J5Wu92ZfDOrl",
"colab_type": "code",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 269
},
"outputId": "04218f0c-e7c5-4a53-a388-60576fe2a016"
},
"source": [
"imgplot = plt.imshow(img, cmap='gray')\n",
"plt.show()"
],
"execution_count": 116,
"outputs": [
{
"output_type": "display_data",
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"tags": []
}
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "7EvuKMhMDV0e",
"colab_type": "code",
"colab": {}
},
"source": [
""
],
"execution_count": 0,
"outputs": []
},
{
"cell_type": "markdown",
"metadata": {
"id": "awvlxPtGE60c",
"colab_type": "text"
},
"source": [
"## Avec PyTorch\n",
"\n",
"D'après [Load MNIST Dataset from PyTorch Torchvision](https://www.aiworkbox.com/lessons/load-mnist-dataset-from-pytorch-torchvision) "
]
},
{
"cell_type": "code",
"metadata": {
"id": "zhSIwVomE9qM",
"colab_type": "code",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 331
},
"outputId": "6fcb6fab-e06b-4a49-f649-f4cf30a78421"
},
"source": [
"import torch\n",
"import torchvision\n",
"import torchvision.datasets as datasets\n",
"mnist_trainset = datasets.MNIST(root='./data', train=True, download=True, transform=None)"
],
"execution_count": 117,
"outputs": [
{
"output_type": "stream",
"text": [
"\r0it [00:00, ?it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"Downloading http://yann.lecun.com/exdb/mnist/train-images-idx3-ubyte.gz to ./data/MNIST/raw/train-images-idx3-ubyte.gz\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"9920512it [00:01, 8789013.74it/s] \n"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"Extracting ./data/MNIST/raw/train-images-idx3-ubyte.gz\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
" 0%| | 0/28881 [00:00<?, ?it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"Downloading http://yann.lecun.com/exdb/mnist/train-labels-idx1-ubyte.gz to ./data/MNIST/raw/train-labels-idx1-ubyte.gz\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"32768it [00:00, 130253.15it/s] \n",
" 0%| | 0/1648877 [00:00<?, ?it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"Extracting ./data/MNIST/raw/train-labels-idx1-ubyte.gz\n",
"Downloading http://yann.lecun.com/exdb/mnist/t10k-images-idx3-ubyte.gz to ./data/MNIST/raw/t10k-images-idx3-ubyte.gz\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"1654784it [00:00, 2133196.12it/s] \n",
"0it [00:00, ?it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"Extracting ./data/MNIST/raw/t10k-images-idx3-ubyte.gz\n",
"Downloading http://yann.lecun.com/exdb/mnist/t10k-labels-idx1-ubyte.gz to ./data/MNIST/raw/t10k-labels-idx1-ubyte.gz\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"8192it [00:00, 49505.14it/s] \n"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"Extracting ./data/MNIST/raw/t10k-labels-idx1-ubyte.gz\n",
"Processing...\n",
"Done!\n"
],
"name": "stdout"
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "mwwa4ZFSFGAP",
"colab_type": "code",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 119
},
"outputId": "dc718b0b-ea31-470f-a126-ae5c958a8619"
},
"source": [
"mnist_trainset"
],
"execution_count": 118,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"Dataset MNIST\n",
" Number of datapoints: 60000\n",
" Split: train\n",
" Root Location: ./data\n",
" Transforms (if any): None\n",
" Target Transforms (if any): None"
]
},
"metadata": {
"tags": []
},
"execution_count": 118
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "ZPhmdbHtFIXe",
"colab_type": "code",
"colab": {}
},
"source": [
"mnist_testset = datasets.MNIST(root='./data', train=False, download=True, transform=None)"
],
"execution_count": 0,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "qFta07XjFVFh",
"colab_type": "code",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 119
},
"outputId": "453dfe99-5bad-46e9-8311-26a64d50c36b"
},
"source": [
"mnist_testset"
],
"execution_count": 120,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"Dataset MNIST\n",
" Number of datapoints: 10000\n",
" Split: test\n",
" Root Location: ./data\n",
" Transforms (if any): None\n",
" Target Transforms (if any): None"
]
},
"metadata": {
"tags": []
},
"execution_count": 120
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "fXoGn7-zFWcR",
"colab_type": "code",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 63
},
"outputId": "cc59750e-f546-4bb4-9f1e-f1654be2fa33"
},
"source": [
"!ls data/MNIST/processed"
],
"execution_count": 126,
"outputs": [
{
"output_type": "stream",
"text": [
"test.pt training.pt\n"
],
"name": "stdout"
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "qPsOqJr3FXt0",
"colab_type": "code",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 34
},
"outputId": "036ae8b1-ecb3-47d0-914c-f49b83c4cdd8"
},
"source": [
"len(mnist_trainset.data)"
],
"execution_count": 128,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"60000"
]
},
"metadata": {
"tags": []
},
"execution_count": 128
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "s9VwNyHNFoOc",
"colab_type": "code",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 34
},
"outputId": "f235a2c7-4a30-4294-f933-39617c925e53"
},
"source": [
"len(mnist_testset.data)"
],
"execution_count": 130,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"10000"
]
},
"metadata": {
"tags": []
},
"execution_count": 130
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "aENDVIwbFtwt",
"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