參數 | 描述 |
inputs | 把上一層的輸出作爲輸入(直接將上一層作爲參數輸入即可) |
input_shape | 當作爲模型的第一層時,需要指出輸入的形狀(samples,rows,cols,channels) ,只指出後三維即可,第一維度按batch_size自動指定 |
filters | 卷積過濾器的數量,對應輸出的維數--卷積核的數目(即輸出的維度) |
kernel_size | 整數,過濾器的大小,如果爲一個整數則寬和高相同.單個整數或由兩個整數構成的list/tuple,卷積核的寬度和長度。如爲單個整數,則表示在各個空間維度的相同長度 |
strides | 橫向和縱向的步長,如果爲一個整數則橫向和縱向相同.單個整數或由兩個整數構成的list/tuple,爲卷積的步長。如爲單個整數,則表示在各個空間維度的相同步長。任何不爲1的strides均與任何不爲1的dilation_rata均 不兼容 |
padding | 補0策略,爲“valid”, “same”。“valid”代表只進行有效的卷積,即對邊界數據不處理。“same”代表保留邊界處的卷積結果,通常會導致輸出shape與輸入shape相同。 |
data_format | channels_last爲(batch,height,width,channels),channels_first爲(batch,channels,height,width).以128x128的RGB圖像爲 例,“channels_first”應將數據組織爲(3,128,128),而“channels_last”應將數據組織爲 (128,128,3)。該參數的默認值是~/.keras/keras.json中設置的值,若從未設置過,則 爲“channels_last”。 |
dilation_rate | |
activation | 激活函數,如果不指定該參數,將不會使用任何激活函數(即 使用線性激活函數:a(x)=x) |
use_bias | 是否使用偏差量,布爾值 |
kernel_initializer | 卷積核的初始化。 |
bias_initializer | 偏差向量的初始化。如果是None,則使用默認的初始值。 |
kernel_regularizer | 卷積核的正則項 |
bias_regularizer | 偏差向量的正則項 |
activity_regularizer | 輸出的正則函數 |
bias_constraint | 映射函數,當偏差向量被Optimizer更新後應用到偏差向量上。 |
trainable | Boolean類型。 |
name | 字符串,層的名字。 |
reuse | Boolean類型,表示是否可以重複使用具有相同名字的前一層的權重。 |
keras.layers.convolutional.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)
# 設置訓練模型
# input_shape 指出輸入的形狀(samples,rows,cols,channels) ,只指出後三維即可,第一維度按batch_size自動指定
# x_train (60000,28,28,1) >> input_shape=(60000,28,28,1) 第一維可以省略,自動根據batch_size指定
tf.keras.layers.Conv2D(filters=16,kernel_size=(5,5),activation="relu",input_shape=(28,28,1),padding="valid"),