1. 程式人生 > >深度學習 | Python下LeNet5的底層實現

深度學習 | Python下LeNet5的底層實現

前言

加油

參考:https://blog.csdn.net/hjimce/article/details/47323463#

一、匯入MNIST手寫資料集

import _pickle as cPickle
import gzip
import numpy as np
import matplotlib.pyplot as plt

f = gzip.open('MNIST_data\\mnist.pkl.gz', 'rb')
train_set, valid_set, test_set = cPickle.load(f, encoding='bytes')
f.close()
tx, ty = train_set

# 檢視訓練樣本
print(np.shape(tx))  # 可以看到tx大小為(50000,28*28)的二維矩陣
print(np.shape(ty))  # 可以看到ty大小為(50000,1)的矩陣
# 圖片顯示
A = tx[17].reshape(28, 28)  # 第八個訓練樣本
Y = ty[17]
print(Y)
plt.imshow(A, cmap='gray')  # 顯示手寫字型圖片</span>
plt.show()
  1. 其中Python3無cPickle模組,已變成_pickle 詳情
  2. 且讀入時需加上 encoding='bytes'  詳情