keras.layers.Conv2D(filters, kernel_size, strides=(1, 1), padding='valid', data_format=None, dilation_rate=(1, 1), activation=None, use_bias=True, kernel_initializer='glorot_uniform', bias_initializer='zeros', kernel_regularizer=None, bias_regularizer=None, activity_regularizer=None, kernel_constraint=None, bias_constraint=None)
該層創建了一個卷積核, 該卷積核對層輸入進行卷積, 以生成輸出張量。 如果 use_bias
為 True, 則會創建一個偏置向量並將其添加到輸出中。 最后,如果 activation
不是 None
,它也會應用於輸出。
當使用該層作為模型第一層時,需要提供 input_shape
參數
比如訓練樣本是(6000,28,28,1), 則input_shape=(28,28,1)
- filters: 整數,輸出空間的維度 (即卷積中濾波器的數量)。
- kernel_size: 一個整數,或者 2 個整數表示的元組或列表, 指明 2D 卷積窗口的寬度和高度。 可以是一個整數,為所有空間維度指定相同的值。
- strides: 一個整數,或者 2 個整數表示的元組或列表, 指明卷積沿寬度和高度方向的步長。 可以是一個整數,為所有空間維度指定相同的值。 指定任何 stride 值 != 1 與指定
dilation_rate
值 != 1 兩者不兼容。 - padding:
"valid"
或"same"
(大小寫敏感)。 valid padding就是不padding,而same padding就是指padding完尺寸與原來相同
圖像識別一般來說都要padding,尤其是在圖片邊緣的特征重要的情況下。padding多少取決於我們需要的輸出是多少 - data_format: 字符串,
channels_last
(默認) 或channels_first
之一,表示輸入中維度的順序。channels_last
對應輸入尺寸為(batch, height, width, channels)
,channels_first
對應輸入尺寸為(batch, channels, height, width)
。 它默認為從 Keras 配置文件~/.keras/keras.json
中 找到的image_data_format
值。 如果你從未設置它,將使用channels_last
。 - dilation_rate: 一個整數或 2 個整數的元組或列表, 指定膨脹卷積的膨脹率。 可以是一個整數,為所有空間維度指定相同的值。 當前,指定任何
dilation_rate
值 != 1 與 指定 stride 值 != 1 兩者不兼容。 - activation: 要使用的激活函數 (詳見 activations)。 如果你不指定,則不使用激活函數 (即線性激活:
a(x) = x
)。 - use_bias: 布爾值,該層是否使用偏置向量。
- kernel_initializer:
kernel
權值矩陣的初始化器 (詳見 initializers)。 - bias_initializer: 偏置向量的初始化器 (詳見 initializers)。
- kernel_regularizer: 運用到
kernel
權值矩陣的正則化函數 (詳見 regularizer)。 - bias_regularizer: 運用到偏置向量的正則化函數 (詳見 regularizer)。
- activity_regularizer: 運用到層輸出(它的激活值)的正則化函數 (詳見 regularizer)。
- kernel_constraint: 運用到
kernel
權值矩陣的約束函數 (詳見 constraints)。 - bias_constraint: 運用到偏置向量的約束函數 (詳見 constraints)。
輸入尺寸
- 如果 data_format='channels_first', 輸入 4D 張量,尺寸為
(samples, channels, rows, cols)
。 - 如果 data_format='channels_last', 輸入 4D 張量,尺寸為
(samples, rows, cols, channels)
。
輸出尺寸
- 如果 data_format='channels_first', 輸出 4D 張量,尺寸為
(samples, filters, new_rows, new_cols)
。 - 如果 data_format='channels_last', 輸出 4D 張量,尺寸為
(samples, new_rows, new_cols, filters)
。