keras 基本網路層結構 2 卷積層

2022-05-28 04:09:07 字數 4266 閱讀 8482

參考文獻:

keras.layers.convolutional.conv1d(filters, kernel_size, strides=1, padding='

valid

', dilation_rate=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。例如(10,128)代表乙個長為10的序列,序列中每個訊號為128向量。而(none, 128)代表變長的128維向量序列。

該層生成將輸入訊號與卷積核按照單一的空域(或時域)方向進行卷積。如果use_bias=true,則還會加上乙個偏置項,若activation不為none,則輸出為經過啟用函式的輸出。

形如(samples,steps,input_dim)的3d張量

形如(samples,new_steps,nb_filter)的3d張量,因為有向量填充的原因,steps的值會改變

【tips】可以將convolution1d看作convolution2d的快捷版,對例子中(10,32)的訊號進行1d卷積相當於對其進行卷積核為(filter_length, 32)的2d卷積。【@3rduncle】

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引數。例如input_shape = (128,128,3)代表128*128的彩色rgb影象(data_format='channels_last'

『channels_first』模式下,輸入形如(samples,channels,rows,cols)的4d張量

『channels_last』模式下,輸入形如(samples,rows,cols,channels)的4d張量

注意這裡的輸入shape指的是函式內部實現的輸入shape,而非函式介面應指定的input_shape,請參考下面提供的例子。

『channels_first』模式下,為形如(samples,nb_filter, new_rows, new_cols)的4d張量

『channels_last』模式下,為形如(samples,new_rows, new_cols,nb_filter)的4d張量

輸出的行列數可能會因為填充方法而改變

keras.layers.convolutional.separableconv2d(filters, kernel_size, strides=(1, 1), padding='

valid

', data_format=none, depth_multiplier=1, activation=none, use_bias=true, depthwise_initializer='

glorot_uniform

', pointwise_initializer='

glorot_uniform

', bias_initializer='

zeros

', depthwise_regularizer=none, pointwise_regularizer=none, bias_regularizer=none, activity_regularizer=none, depthwise_constraint=none, pointwise_constraint=none, bias_constraint=none)

該層是在深度方向上的可分離卷積。

可分離卷積首先按深度方向進行卷積(對每個輸入通道分別卷積),然後逐點進行卷積,將上一步的卷積結果混合到輸出通道中。引數depth_multiplier控制了在depthwise卷積(第一步)的過程中,每個輸入通道訊號產生多少個輸出通道。

直觀來說,可分離卷積可以看做講乙個卷積核分解為兩個小的卷積核,或看作inception模組的一種極端情況。

當使用該層作為第一層時,應提供input_shape引數。例如input_shape = (3,128,128)代表128*128的彩色rgb影象

『channels_first』模式下,輸入形如(samples,channels,rows,cols)的4d張量

『channels_last』模式下,輸入形如(samples,rows,cols,channels)的4d張量

注意這裡的輸入shape指的是函式內部實現的輸入shape,而非函式介面應指定的input_shape,請參考下面提供的例子。

『channels_first』模式下,為形如(samples,nb_filter, new_rows, new_cols)的4d張量

『channels_last』模式下,為形如(samples,new_rows, new_cols,nb_filter)的4d張量

輸出的行列數可能會因為填充方法而改變

keras.layers.convolutional.conv2dtranspose(filters, kernel_size, strides=(1, 1), padding='

valid

', data_format=none, 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)

該層是轉置的卷積操作(反卷積)。需要反卷積的情況通常發生在使用者想要對乙個普通卷積的結果做反方向的變換。例如,將具有該卷積層輸出shape的tensor轉換為具有該卷積層輸入shape的tensor。同時保留與卷積層相容的連線模式。

當使用該層作為第一層時,應提供input_shape引數。例如input_shape = (3,128,128)代表128*128的彩色rgb影象

『channels_first』模式下,輸入形如(samples,channels,rows,cols)的4d張量

『channels_last』模式下,輸入形如(samples,rows,cols,channels)的4d張量

注意這裡的輸入shape指的是函式內部實現的輸入shape,而非函式介面應指定的input_shape,請參考下面提供的例子。

『channels_first』模式下,為形如(samples,nb_filter, new_rows, new_cols)的4d張量

『channels_last』模式下,為形如(samples,new_rows, new_cols,nb_filter)的4d張量

輸出的行列數可能會因為填充方法而改變

卷積神經網路學習1 卷積層

卷積神經網路常用於計算機視覺當中,應用在計算機視覺當中,就要面臨乙個挑戰,那就是輸入資料非常的大,假如輸入乙個1000 1000的,那麼他就有1000 1000 3 的rgb三通道 個資料,對於300w的資料量,那麼當我們第乙個隱藏層有1000個神經元進行全連線時,那麼將會有300w 1000個引數...

深度學習筆記(24) 卷積層

乙個典型的卷積神經網路的卷積層,而通常有三層 首先介紹的是卷積層conv,從conv的向前傳播開始 前向傳播中乙個操作就是 z 1 w 1 a 0 b 1 其中 a 0 x 執行非線性函式得到 a 1 即 a 1 g z 1 這裡的輸入是a 0 也就是x,這些過濾器用變數 w 1 表示 在卷積過程中...

深度學習筆記017卷積層

看到一句話,其實卷積層就是一種濾波器,放大它感興趣的,縮小它不感興趣的,很有道理。二維卷積層的數學表達 這裡這個w其實就是kernel,是在這裡通過這種方式學習出來的引數,表現出來的就是乙個矩陣。b是偏差,通過廣播機制作用給y。二維交叉和二維卷積,就差乙個翻轉的關係 為了簡單,我們把負號刪掉了。所以...