獲取MNIST資料的幾種方法
阿新 • • 發佈:2019-01-09
獲取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()