1. 程式人生 > >獲取MNIST資料的幾種方法

獲取MNIST資料的幾種方法

獲取MNIST資料的幾種方法

MNIST是一個非常常見的資料集,資料量小,方便讀入記憶體,而且直觀可見,在實現各種機器學習演算法的時候,經常可以用來當小白鼠實驗。這裡介紹幾種獲取MNIST的方法,包括直接從某個連結下載資料集的方案,也有利用python庫間接下載的方案。


方法1. 官網下載

MNIST資料集的版權在Yann LeCun教授手上,在他的主頁下載即可。
http://yann.lecun.com/exdb/mnist/

下載4個gz檔案,實際上這也是舊版TensorFlow中獲取mnist的方法。
注意,影象資料取值為0到1之間。


方法2. 谷歌下載

https://storage.googleapis.com/tensorflow/tf-keras-datasets/mnist.npz

下載1個npz檔案,實際上這也是新版TensorFlow中獲取mnist的方法。
注意,影象資料取值為0到255之間。


方法3. 通過TensorFlow獲取

舊版(1.7以前?)

如果不FQ的話,可能無法通過這種方法下載mnist資料集,可以利用方法1先下載好資料集,放到mnist資料夾下,然後指定datapath來讀取。

from tensorflow.examples.tutorials.mnist import input_data

datapath =
"./mnist/" mnist = input_data.read_data_sets(datapath, one_hot=True) train_x = mnist.train.images train_y = mnist.train.labels test_x = mnist.test.images test_y = mnist.text.labels

新版(1.7以後?)

這個方法會自動從方法2的連結下載mnist.npz並存放於~/.keras/datasets/下,因此提前下載好放在這裡就可以避免無法下載的問題。

import tensorflow as tf 

(train_x,
train_y), (test_x, test_y) = tf.keras.datasets.mnist.load_data(path='mnist.npz')

方法4. 通過Keras獲取

from keras.datasets import mnist

(train_x, train_y), (test_x, test_y) = mnist.load_data()