對於初學者,看到這個公式的唯一疑問是:p值到底是多少?
在tensoflow中,padding有2個選型,'same'和'valid' ,下面舉例說明差別:
如果 padding='same',輸出尺寸為: w / s
mport tensorflow as tf
input_image = tf.layers.input(shape=[32, 32, 3], dtype=tf.float32)
conv0 = tf.layers.conv2d(input_image, 64, kernel_size=[3, 3], strides=[2, 2], padding='same') # 32/2=16
conv1 = tf.layers.conv2d(input_image, 64, kernel_size=[5, 5], strides=[2, 2], padding='same')
# kernel_szie不影響輸出尺寸
print(conv0) # shape=(?, 16, 16, 64)
print(conv1) # shape=(?, 16, 16, 64)
如果 padding='valid',輸出尺寸為:(w - f + 1) / s
import tensorflow as tf
input_image = tf.layers.input(shape=[32, 32, 3], dtype=tf.float32)
conv0 = tf.layers.conv2d(input_image, 64, kernel_size=[3, 3], strides=[2, 2], padding='valid') # (32-3+1)/2=15
conv1 = tf.layers.conv2d(input_image, 64, kernel_size=[5, 5], strides=[2, 2], padding='valid') # (32-5+1)/2=14
print(conv0) # shape=shape=(?, 15, 15, 64)
print(conv1) # shape=(?, 14, 14, 64)
神經網路之卷積層,池化層輸出大小計算
w 影象寬,h 影象高,d 影象深度 通道數 f 卷積核寬高,n 卷積核 過濾器 個數 s 步長,p 用零填充個數 卷積後輸出影象大小 width w f 2p s 1 height h f 2p s 1 卷積後輸出影象深度 n d 輸出影象大小 width,height,n weight個數 ff...
卷積池化計算 深度學習
卷積後輸出大小 w 影象寬,h 影象高,d 影象深度 通道數 f 卷積核寬高,n 卷積核 過濾器 個數 s 步長,p 用零填充個數 卷積後輸出影象大小 width w f 2p s 1 height h f 2p s 1 卷積後輸出影象深度 d n 輸出影象大小 width,height,n wei...
卷積 池化 反卷積 空洞卷積的輸出大小計算公式
對於卷積經過某層後的特徵圖大小計算方式 h2 h1 k 2p s 1 w2 w1 k 2p s 1 總結 卷積輸出大小 輸入大小 卷積核大小 2 padding 步長 1 所以當stride為1時,當卷積核的大小比padding的兩倍大1時,可以不改變特徵圖的尺寸,只改變通道數。對於池化 h h k...