- Keras 教程
- Keras - 首頁
- Keras - 簡介
- Keras - 安裝
- Keras - 後端配置
- Keras - 深度學習概述
- Keras - 深度學習
- Keras - 模組
- Keras - 層
- Keras - 自定義層
- Keras - 模型
- Keras - 模型編譯
- Keras - 模型評估和預測
- Keras - 卷積神經網路
- Keras - 使用 MPL 進行迴歸預測
- Keras - 使用 LSTM RNN 進行時間序列預測
- Keras - 應用
- Keras - 使用 ResNet 模型進行即時預測
- Keras - 預訓練模型
- Keras 有用資源
- Keras - 快速指南
- Keras - 有用資源
- Keras - 討論
Keras - 卷積層
Keras 包含許多用於建立基於卷積的 ANN 的層,通常稱為卷積神經網路 (CNN)。所有卷積層都具有一些屬性(如下所示),這使它與其他層(例如密集層)區別開來。
過濾器 - 它指的是卷積中要應用的過濾器數量。它會影響輸出形狀的維度。
核心大小 - 它指的是卷積視窗的長度。
步長 - 它指的是卷積的步長。
填充 - 它指的是卷積輸出如何進行填充。它有三個值,如下所示:
有效 表示不填充
因果 表示因果卷積。
相同 表示輸出應與輸入具有相同的長度,因此應相應地應用填充
擴張率 - 用於擴張卷積的擴張率。
卷積層的另一個重要方面是資料格式。資料格式可以分為兩種型別,
通道最後:通道最後 - 指定通道資料作為最後一個條目放置。這裡,通道指的是實際資料,它將放置在輸入空間的最後一個維度中。
例如,讓我們考慮一個輸入形狀(30, 10, 128)。這裡,第一個維度的值30指的是批次大小,第二個維度的值10指的是時間卷積中的時間步長,第三維度的值128指的是輸入的實際值。這是 Keras 中的預設設定。
通道優先:通道優先 與通道最後正好相反。這裡,輸入值放置在第二個維度,緊挨著批次大小。
讓我們在本節中檢視 Keras 層提供的用於 CNN 的所有層。
Conv1D
Conv1D 層用於基於時間的 CNN。ConvID 的輸入形狀將採用以下格式:
(batch_size, timesteps, features)
其中,
批次大小指的是批次的大小。
時間步長指的是輸入中提供的時間步長數。
特徵指的是輸入中可用的特徵數。
Conv1D 的輸出形狀如下:
(batch_size, new_steps, filters)
其中,過濾器指的是作為引數之一指定的過濾器數量。
ConvID 函式及其引數(帶有預設值)的簽名如下:
keras.layers.Conv1D( filters, kernel_size, strides = 1, padding = 'valid', data_format = 'channels_last', 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 )
Conv2D
它是一個二維卷積層。它使用層輸入建立一個卷積核,建立一個輸出張量。input_shape 指的是在 data_format = “channels_last” 中具有 RGB 值的整數元組。
Conv2D 函式及其引數(帶有預設值)的簽名如下:
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 )
這裡,
步長指的是一個整數,指定沿高度和寬度的卷積步長。