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:48Jeffrey贊同數: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:10Patrick 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 無關