鍍金池/ 教程/ 人工智能/ MNIST 數(shù)據(jù)下載 <a class="md-anchor" id="AUTOGENERATED-mnist-data-dow
BibTex 引用<a class="md-anchor" id="AUTOGENERATED-bibtex-citation"
術(shù)語表
自定義數(shù)據(jù)讀取 <a class="md-anchor" id="AUTOGENERATED-custom-data-reade
使用 GPUs <a class="md-anchor" id="AUTOGENERATED-using-gpus"></a>
Vector Representations of Words <a class="md-anchor" id="AUTOGEN
TensorFlow 個人學習心得
共享變量<a class="md-anchor" id="AUTOGENERATED-sharing-variables"></
應(yīng)用實例 <a class="md-anchor" id="AUTOGENERATED-example-uses"></a>
其他資源 <a class="md-anchor" id="AUTOGENERATED-additional-resources
偏微分方程 <a class="md-anchor" id="AUTOGENERATED-partial-differentia
TensorBoard:可視化學習 <a class="md-anchor" id="AUTOGENERATED-tensorb
TensorFlow運作方式入門 <a class="md-anchor" id="AUTOGENERATED-tensorfl
常見問題 <a class="md-anchor" id="AUTOGENERATED-frequently-asked-que
MNIST機器學習入門 <a class="md-anchor" id="AUTOGENERATED-mnist-for-ml-
曼德布洛特(Mandelbrot)集合 <a class="md-anchor" id="AUTOGENERATED-mande
變量:創(chuàng)建、初始化、保存和加載
TensorBoard: 圖表可視化 <a class="md-anchor" id="AUTOGENERATED-tensor
簡介 <a class="md-anchor" id="AUTOGENERATED-introduction"></a>
張量的階、形狀、數(shù)據(jù)類型<a class="md-anchor" id="AUTOGENERATED-tensor-ranks-
線程和隊列 <a class="md-anchor" id="AUTOGENERATED-threading-and-queue
下載與安裝 <a class="md-anchor" id="AUTOGENERATED-download-and-setup"
常見問題匯總
綜述
綜述 Overview
TensorFlow 相關(guān)資源
數(shù)據(jù)讀取 <a class="md-anchor" id="AUTOGENERATED-reading-data"></a>
遞歸神經(jīng)網(wǎng)絡(luò) <a class="md-anchor" id="AUTOGENERATED-recurrent-neural-n
深入MNIST <a class="md-anchor" id="AUTOGENERATED-deep-mnist-for-ex
增加一個新 Op <a class="md-anchor" id="AUTOGENERATED-adding-a-new-op"
卷積神經(jīng)網(wǎng)絡(luò) <a class="md-anchor" id="AUTOGENERATED-convolutional-neur
基本使用 <a class="md-anchor" id="AUTOGENERATED-basic-usage"></a>
MNIST 數(shù)據(jù)下載 <a class="md-anchor" id="AUTOGENERATED-mnist-data-dow

MNIST 數(shù)據(jù)下載 <a class="md-anchor" id="AUTOGENERATED-mnist-data-dow

源碼: tensorflow/g3doc/tutorials/mnist/

本教程的目標是展示如何下載用于手寫數(shù)字分類問題所要用到的(經(jīng)典)MNIST數(shù)據(jù)集。

教程 文件

本教程需要使用以下文件:

文件 目的
input_data.py 下載用于訓練和測試的MNIST數(shù)據(jù)集的源碼

準備數(shù)據(jù)

MNIST是在機器學習領(lǐng)域中的一個經(jīng)典問題。該問題解決的是把28x28像素的灰度手寫數(shù)字圖片識別為相應(yīng)的數(shù)字,其中數(shù)字的范圍從0到9.

http://wiki.jikexueyuan.com/project/tensorflow-zh/images/mnist_digits.png" alt="MNIST Digits" title="MNIST Digits" />

更多詳情, 請參考 Yann LeCun's MNIST pageChris Olah's visualizations of MNIST.

下載

Yann LeCun's MNIST page 也提供了訓練集與測試集數(shù)據(jù)的下載。

文件 內(nèi)容
train-images-idx3-ubyte.gz 訓練集圖片 - 55000 張 訓練圖片, 5000 張 驗證圖片
train-labels-idx1-ubyte.gz 訓練集圖片對應(yīng)的數(shù)字標簽
t10k-images-idx3-ubyte.gz 測試集圖片 - 10000 張 圖片
t10k-labels-idx1-ubyte.gz 測試集圖片對應(yīng)的數(shù)字標簽

input_data.py 文件中, maybe_download() 函數(shù)可以確保這些訓練數(shù)據(jù)下載到本地文件夾中。

文件夾的名字在 fully_connected_feed.py 文件的頂部由一個標記變量指定,你可以根據(jù)自己的需要進行修改。

解壓 與 重構(gòu)

這些文件本身并沒有使用標準的圖片格式儲存,并且需要使用input_data.py文件中extract_images()extract_labels()函數(shù)來手動解壓(頁面中有相關(guān)說明)。

圖片數(shù)據(jù)將被解壓成2維的tensor:[image index, pixel index] 其中每一項表示某一圖片中特定像素的強度值, 范圍從 [0, 255][-0.5, 0.5]。 "image index"代表數(shù)據(jù)集中圖片的編號, 從0到數(shù)據(jù)集的上限值。"pixel index"代表該圖片中像素點得個數(shù), 從0到圖片的像素上限值。

train-*開頭的文件中包括60000個樣本,其中分割出55000個樣本作為訓練集,其余的5000個樣本作為驗證集。因為所有數(shù)據(jù)集中28x28像素的灰度圖片的尺寸為784,所以訓練集輸出的tensor格式為[55000, 784]。

數(shù)字標簽數(shù)據(jù)被解壓稱1維的tensor: [image index],它定義了每個樣本數(shù)值的類別分類。對于訓練集的標簽來說,這個數(shù)據(jù)規(guī)模就是:[55000]。

數(shù)據(jù)集 對象

底層的源碼將會執(zhí)行下載、解壓、重構(gòu)圖片和標簽數(shù)據(jù)來組成以下的數(shù)據(jù)集對象:

數(shù)據(jù)集 目的
data_sets.train 55000 組 圖片和標簽, 用于訓練。
data_sets.validation 5000 組 圖片和標簽, 用于迭代驗證訓練的準確性。
data_sets.test 10000 組 圖片和標簽, 用于最終測試訓練的準確性。

執(zhí)行read_data_sets()函數(shù)將會返回一個DataSet實例,其中包含了以上三個數(shù)據(jù)集。函數(shù)DataSet.next_batch()是用于獲取以batch_size為大小的一個元組,其中包含了一組圖片和標簽,該元組會被用于當前的TensorFlow運算會話中。

images_feed, labels_feed = data_set.next_batch(FLAGS.batch_size)

原文地址:MNIST Data Download 翻譯:btpeter 校對:waiwaizheng