logo
Loading...

CNN的參數計算問題,怎麼算都會少一個kernel - Cupoy

classifier=Sequential()inputs = Input(shape=(13,13...

cvdl,cvdl-d11

CNN的參數計算問題,怎麼算都會少一個kernel

2020/07/15 下午 10:41
電腦視覺深度學習討論版
林瑋晨
觀看數:13
回答數:3
收藏數:0
cvdl
cvdl-d11

classifier=Sequential()

inputs = Input(shape=(13,13,1))

x=Convolution2D(filters=32,kernel_size=(6,6), strides=(1, 1),padding='SAME')(inputs)

model = Model(inputs=inputs, outputs=x)

model.summary()


我自己的算法是6*6*32 =1152

但keras最後得出的是1184,整整多了一個kernel的size, 想請問我是哪邊沒有算到呢?

回答列表

  • 2020/07/17 下午 10:48
    Jeffrey
    贊同數:0
    不贊同數:0
    留言數:0

    請問一下, 有考慮過 PADDING? 可以嘗試不同的設定,觀察 得到的參數值

  • 2020/07/21 上午 07:41
    陳泓嘉
    贊同數:1
    不贊同數:0
    留言數:0

    每一個filter都會有一個bias的參數, 所以應該是 6 * 6 * 32 + 1 * 32 = 1184才對喔, 這跟padding沒啥關聯

  • 2020/10/01 下午 07:10
    Patrick Ruan
    贊同數:0
    不贊同數:0
    留言數:0

    CNN 的參數算法是: channels * (kernel size)* (number of kernel) + (number of bias)

    number of bias = number of kernel,因為我們每一個 kernel 配置一個 bias。

    所以上面的例子就是  1*6*6*32 +32 = 1184

    跟 padding 無關