今天我們要來看的是要如何查看多筆訓練資料image與label,以及先整理之後所有要使用的features和labels。
查看多筆訓練資料images與label
import matplotlib.pyplot as plt
定義plot_images_labels_prediction()函數,如下所示
def plot_images_labels_prediction(images,labels,prediction,idx,num=10):
(定義plot_images_labels_prediction()函數,傳入參數:images、labels、prediction、idx、num)
設定顯示圖型的大小
fig = plt.gcf()
fig.set_size_inches(12, 14)
如果顯示筆數參數大於25設定為25,避免發生錯誤
if num>25: num=25
for迴圈執行程式碼以畫出num個數字圖形,如下所示
for i in range(0, num):
ax=plt.subplot(5,5,1+i)
ax.imshow(image[idx], cmap='binary')
title= "label=" +str(labels[idx])
if len(prediction)>0:
title+=",predict="+str(prediction[idx])
ax.set_title(title,fontsize=10)
ax.set_xticks([]);ax.set_yticks([])
idx+=1
開始畫圖plt.show()
這樣就建立成功啦!
show_images_labels()
,顯示測試資料前10筆資料多層感知器模型資料預處理
我們要開始建立多層感知器模型,首先要將images與labels的內容進行預處理,才能進行使用。
主要可分為兩部分:
features資料預處理
print ('X_train_image:',X_train_image.shape)
print ('Y_train_label:',Y_train_label.shape)
print ('X_train:',X_Train.shape)
print ('X_test:',X_Test.shape)
X_train_image[0]
X_Train_normalize[0]
以查看數字影像image的數字標準化後的結果。labels資料預處理
Y_train_label[:5]
執行One-hot encoding轉換
使用np_utils.to_categorical分別傳入訓練資料與測試資料的label之標籤欄位,即可執行one-hot encoding轉換
如下圖所示:
查看執行結果,就正式結束啦!
鍵入以下指令即可查看
Y_TrainOnHot[:5]
注意!執行One-hot encoding後,架設第一筆資料原來的真實值為5,會從第五個數字(由0算起)是1,其餘皆為0
這樣整個資料處理就完成啦!明天再接再勵!
Reference: 林大貴(2019):TensorFlow+Keras 深度學習人工智慧實務應用。新北市:博碩文化