您好,登錄后才能下訂單哦!
MNIST是一個非常有名的手寫體數字識別數據集,TensorFlow對MNIST數據集做了封裝,可以直接調用。MNIST數據集包含了60000張圖片作為訓練數據,10000張圖片作為測試數據,每一張圖片都代表了0-9中的一個數字,圖片大小都是28*28。雖然這個數據集只提供了訓練和測試數據,但是為了驗證訓練網絡的效果,一般從訓練數據中劃分出一部分數據作為驗證數據,測試神經網絡模型在不同參數下的效果。TensorFlow提供了一個類來處理MNIST數據。
代碼如下:
from tensorflow.examples.tutorials.mnist import input_data #載入MNIST數據集,如果指定地址下沒有下載好的數據,那么TensorFlow會自動在網站上下載數據 mnist = input_data.read_data_sets("/tensorflow_google") #打印訓練數據大小 print("Training data size:", mnist.train.num_examples) #打印驗證集大小 print("Validating data size:", mnist.validation.num_examples) #打印測試集大小 print("Testing data size:", mnist.test.num_examples) #打印訓練樣例 print("Example training data", mnist.train.images[0]) #打印訓練樣例的標簽 print("Example training data label:", mnist.train.labels[0]) >>Training data size: 55000 Validating data size: 5000 Testing data size: 10000 Example training data [ 0. ... 0. ] Example training data label: 7
處理后的每一張圖片是一個長度為784(28*28)的一維數組,數組中的數據為圖片的像素,像素元素取值范圍為0-1,代表了顏色的深淺,其中0為白色,1為黑色。為了可以使用隨機梯度下降,input_data.read_data_sets生成的類還提供了mnist.train.next_batch,可以從素有的訓練數據中讀取一小部分作為一個訓練batch,例如:
batch_size = 200 xs, ys = mnist.train.next_batch(batch_size) #xs是數據,ys是對應的標簽 print("X shape", xs.shape) print("Y shape", ys.shape) >>X shape (200, 784) #X是200*784的數組 Y shape (200,) #Y是200維的一維數組
以上這篇使用TensorFlow直接獲取處理MNIST數據方式就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持億速云。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。