iT邦幫忙

1

【深度學習的第一課】取得辨識手寫數字訓練資料

今天再自行研究深度學習的技術,
深度學習最經典的範例大概是「辨識手寫數字」吧,
讓電腦看很多0~9的手寫數字,
訓練電腦辨認0~9的手寫數字

取得資料

但是我們要去哪裡取得大量0~9的手寫數字呢?
總不可能我們自己一個一個去寫吧?

幸好我們可以透過python的keras模組下載「Mnist」資料集,
全名「modified national institute of standards and technology database」,
它是其中了蒐集了許多人0~9的手寫數字的資料集,
包含60000筆訓練資料與10000筆的測試資料,
適合機器學習的初學者,
省去自己收集資料的麻煩

只要透過以下指令即可取得mnist資料

from keras.datasets import mnist
(train_feature, train_label), (test_feature, test_label) = mnist.load_data()

查看訓練資料

我們可以透過以下指令查看資料的維度

print(train_feature.shape)
print(train_label.shape)

結果:

(60000, 28, 28)
(60000,)

意思是訓練資料共有60000筆,
train_feature記錄數字圖像,
每張圖片大小為28像素x28像素

train_label則是圖像的標記,記錄說每張圖片的數字是多少

我們可以運用matplotlib.pyplot模組來把一張數字顯示出來,
例如:

from keras.datasets import mnist
import matplotlib.pyplot as plt
(train_feature, train_label), (test_feature, test_label) = mnist.load_data()

plt.gcf().set_size_inches(2, 2)
plt.imshow(train_feature[0], cmap='binary')
plt.show()

plt.imshow(train_feature[0], cmap='binary')表示顯示訓練資料的第一張圖片,
cmap='binary表示以黑白圖片顯示

結果:
https://ithelp.ithome.com.tw/upload/images/20200711/201171146mfVqFlf8b.png

完整範例取得mnist資料程式碼

from keras.datasets import mnist
import matplotlib.pyplot as plt
(train_feature, train_label), (test_feature, test_label) = mnist.load_data()

print(train_feature.shape)
print(train_label)

plt.gcf().set_size_inches(2, 2)
plt.imshow(train_feature[0], cmap='binary')
plt.show() 

參考資料

  1. 書本- Python機器學習與深度學習特訓班:看得懂也會做的AI人工智慧實戰/ 出版社:碁峰

尚未有邦友留言

立即登入留言