Created
May 3, 2019 14:28
-
-
Save ia35/b4a5a28b1db9ec72993476a2cb651655 to your computer and use it in GitHub Desktop.
dl_MNIST.ipynb
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"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