Tutoriel TensorFlow (téléchargement de données MNIST) https://www.tensorflow.org/versions/master/tutorials/mnist/download/index.html#mnist-data-download C'est une traduction de. Nous sommes impatients de signaler toute erreur de traduction.
Code: tensorflow / examples / tutorials / mnist /
Le but de ce didacticiel est de vous montrer comment télécharger les fichiers de jeu de données nécessaires pour classer les nombres manuscrits à l'aide du jeu de données MNIST (classique).
Dans ce tutoriel, nous ferons référence aux fichiers suivants:
Fichier | Objectif |
---|---|
input_data.py | Code pour télécharger le jeu de données MNIST pour la formation et l'évaluation. |
MNIST est un problème classique de l'apprentissage automatique. Le problème est de regarder une image de 28 x 28 pixels en niveaux de gris de nombres manuscrits et de déterminer lequel des nombres 0 à 9 l'image représente.
Pour plus d'informations, voir la page MNIST de Yann LeCun (http://yann.lecun.com/exdb/mnist/) ou la visualisation MNIST de Chris Olah (http://colah.github.io/posts/) Voir 2014-10-Visualizing-MNIST /).
La page Yann LeCun MNIST (http://yann.lecun.com/exdb/mnist/) héberge des données de formation et de test à télécharger.
Fichier | Objectif |
---|---|
train-images-idx3-ubyte.gz | Image d'ensemble d'entraînement-55000 images de formation, 5000 images de vérification |
train-labels-idx1-ubyte.gz | Etiquette du set d'entraînement correspondant à l'image |
t10k-images-idx3-ubyte.gz | Image de l'ensemble de test-10000 images |
t10k-labels-idx1-ubyte.gz | Étiquette de l'ensemble de test correspondant à l'image |
La fonction peut-être_download () dans le fichier input_data.py garantit que ces fichiers ont été téléchargés dans le dossier de données local pour l'entraînement.
Le nom du dossier est spécifié par une variable d'indicateur au début du fichier Fully_connected_feed.py et peut être modifié si nécessaire.
Le fichier lui-même n'est pas au format d'image standard, mais est décompressé manuellement (en suivant les instructions sur le site Web) avec les fonctions extract_images () et extract_labels () dans input_data.py.
Les données d'image sont extraites dans un tenseur 2D de [Image Index, Pixel Index]. Ici, chaque élément est la valeur de la luminosité des pixels de l'image indiquée par l'index, recalée de [0, 255] à [-0,5, 0,5]. L '«index d'image» correspond aux images de l'ensemble de données et compte de 0 à la taille de l'ensemble de données. Et le "pixel index" correspond à un pixel spécifique de l'image et va de 0 au nombre de pixels de l'image.
Les 60000 échantillons dans le fichier train- * sont ensuite divisés en 55000 échantillons pour la formation et 5000 échantillons pour la validation. La taille d'image de toutes les images en niveaux de gris 28x28 pixels dans l'ensemble de données est 784, donc la forme du tenseur de sortie pour l'image d'ensemble d'apprentissage est [55000, 784].
Les données d'étiquette sont extraites dans un tenseur 1D d'indice d'image, valorisé par l'identifiant de classe de chaque échantillon. Par conséquent, pour l'étiquette de l'ensemble d'apprentissage, la forme du tenseur est [55000].
Le code sous-jacent télécharge, décompresse et remodèle les images et les étiquettes pour les ensembles de données suivants:
base de données | Objectif |
---|---|
data_sets.train | 55000 images et étiquettes pour la formation principale. |
data_sets.validation | 5000 images et étiquettes pour la vérification itérative de la précision de la formation. |
data_sets.test | 10000 images et étiquettes pour le test final de la précision formée |
La fonction read_data_sets () renvoie un dictionnaire qui contient une instance DataSet pour chacun de ces trois ensembles de données. La méthode DataSet.next_batch () est utilisée pour récupérer un tuple d'images de taille batch_size et une liste d'étiquettes. Ces listes sont transmises à une session TensorFlow en cours d'exécution.
images_feed, labels_feed = data_set.next_batch(FLAGS.batch_size)
Recommended Posts