1. 程式人生 > >Keras 函式式 API

Keras 函式式 API

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)

1 filters: 整數,輸出空間的維度 (即卷積中濾波器的輸出數量)。
2 kernel_size: 一個整數,或者 2 個整數表示的元組或列表, 指明 2D 卷積視窗的寬度和高度。 可以是一個整數,為所有空間維度指定相同的值。
3 padding: “valid” 或 “same” (大小寫敏感)。
SAME的方式,採用的是補全的方式,對於上述的情況,允許滑動3次,但是需要補3個元素,左奇右偶,在左邊補一個0,右邊補2個0
4 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”。
5 kernel_initializer: kernel 權值矩陣的初始化器

初始化器的用法

用來將初始化器傳入 Keras 層的引數名取決於具體的層。通常關鍵字為 kernel_initializer 和 bias_initializer:
如he_normal
He 正態分佈初始化器。
它從以 0 為中心,標準差為 stddev = sqrt(2 / fan_in) 的截斷正態分佈中抽取樣本, 其中 fan_in 是權值張量中的輸入單位的數量,

MaxPooling2D層

keras.layers.convolutional.MaxPooling2D(pool_size=(2, 2), strides=None, border_mode='valid'
, dim_ordering='th')

pool_size:長為2的整數tuple,代表在兩個方向(豎直,水平)上的下采樣因子,如取(2,2)將使圖片在兩個維度上均變為原長的一半

Dense層

keras.layers.core.Dense(units, 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)

Dense就是常用的全連線層,所實現的運算是output = activation(dot(input, kernel)+bias). kernel是本層的權值矩陣,bias為偏置向量,只有當use_bias=True才會新增。
units:大於0的整數,代表該層的輸出維度。kernel的列數
輸出的維度是(input的行數,units)

GRU層

keras.layers.recurrent.GRU(units, activation='tanh', recurrent_activation='hard_sigmoid', use_bias=True, kernel_initializer='glorot_uniform', recurrent_initializer='orthogonal', bias_initializer='zeros', kernel_regularizer=None, recurrent_regularizer=None, bias_regularizer=None, activity_regularizer=None, kernel_constraint=None, recurrent_constraint=None, bias_constraint=None, dropout=0.0, recurrent_dropout=0.0)