直接截圖jupyter上數據
x_train輸入爲(32,32,3),三通道RGB
自定義model類
CNN主要採用了CBAPD模式,即卷積層、BN層、激活層、池化層、dropout層,然後輸入全連接網絡
模型訓練
模型輸出參數統計:(具體參數值可以通過model.trainable_variables 去輸出打印)
重點來了:
-
conv2d -------> param # 456
filters * kernel_size + bias * filters
6 * 5 * 5 * 3 + 6 =456 -
batch_normalization_2 ------> param # 24
6 * 2 * 2 = 24 (每個filter含1個縮放因子,1個偏移因子,1個均值,1個標準差) -
dense_2 ---------------->param #196736
pool後輸出特徵圖:16 * 16 *6
ceil((input - pool_szie + 1) / stride)
(32 - 2 + 1) / 2 = 16
參數計算:
16 * 16 * 6 * 128 + 128 = 196736 -
dense_5 -----------> param # 1290
128 * 10 + 10 = 1290 -
non_trainable params -------->params # 12
目前還未想明白,歡迎大家討論。。。