算法小白的第一次嘗試----tensorflow2.0 CNN參數計算(圖文解析CNN)

直接截圖jupyter上數據
在這裏插入圖片描述x_train輸入爲(32,32,3),三通道RGB

自定義model類
在這裏插入圖片描述
CNN主要採用了CBAPD模式,即卷積層、BN層、激活層、池化層、dropout層,然後輸入全連接網絡

模型訓練
在這裏插入圖片描述在這裏插入圖片描述
模型輸出參數統計:(具體參數值可以通過model.trainable_variables 去輸出打印)

在這裏插入圖片描述重點來了:

  1. conv2d -------> param # 456
    filters * kernel_size + bias * filters
    6 * 5 * 5 * 3 + 6 =456

  2. batch_normalization_2 ------> param # 24
    6 * 2 * 2 = 24 (每個filter含1個縮放因子,1個偏移因子,1個均值,1個標準差)

  3. 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

  4. dense_5 -----------> param # 1290
    128 * 10 + 10 = 1290

  5. non_trainable params -------->params # 12
    目前還未想明白,歡迎大家討論。。。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章