Tensorflow 2.0筆記 -第五章-經典資料集使用

雲雲森森發表於2020-10-16

Tensorflow 2.0筆記 -第五章-經典資料集使用

以下筆記都來自於龍龍老師的龍書《Tensorflow深度學習》

1.經典資料集

Boston Housing波士頓房價資料集迴歸模型
CIFAR10/100真實圖片資料集圖片分類
MNIST手寫數字圖片資料集圖片分類
IMDB情感分類資料集文字分類任務

2.資料載入


import tensorflow as tf
from tensorflow.keras import  datasets
#   通過 datasets.xxx.load_data()函式實現對應xxx資料集下載
(x_train,y_train) ,(x_test,y_test) = datasets.mnist.load_data()

3.資料轉換


#資料想要使用Tensorflow時候需要轉換成Dataset物件
train_db = tf.data.Dataset.from_tensor_slices((x , y)) 

4.資料隨機打散


#通過Dataset.shuffle(buffer_size)可以打亂資料之間的順序
train_db = train_db.shuffle(10000)  # 打亂樣本順序,不會影響x和y的對映關係

5.批次訓練

# 將樣本分為多批次,每個批次所含樣本數量叫做Batch_size
train_db = train_db.batch(128)  # 將每個Batch大小設定為128
  • Batch_size:每個批次的樣本數
  • Iteration:總樣本分多少個批次
  • Epoch: 總樣本訓練次數

6.預處理

對資料經行處理,來符合資料格式要求。可使用map(func)來呼叫自己自定義的函式方法。

7.迴圈訓練


for epoch in range(20):   #總樣本迴圈訓練20次
  for step , (x , y) in enumerate(train_db):  # 這裡的step相當於是Iteration;train_db.shape = Batch_size
    ...

8.訓練過程觀測


if step % 100 == 0:    #100 次迭代後觀看一次訓練誤差
  print(step , 'loss:' , float(loss))  # loss為損失函式(或者是cost代價函式)

相關文章