算法小白的第一次尝试----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
    目前还未想明白,欢迎大家讨论。。。

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