Keras的dense層及其各種初始化方法

2021-09-08 17:38:15 字數 2653 閱讀 2088

keras.layers.core.dense(

units, #代表該層的輸出維度

activation=none, #啟用函式.但是預設 liner

use_bias=true, #是否使用b

kernel_initializer='glorot_uniform', #初始化w權重,keras/initializers.py

bias_initializer='zeros', #初始化b權重

kernel_regularizer=none, #施加在權重w上的正則項,keras/regularizer.py

bias_regularizer=none, #施加在偏置向量b上的正則項

activity_regularizer=none, #施加在輸出上的正則項

kernel_constraint=none, #施加在權重w上的約束項

bias_constraint=none #施加在偏置b上的約束項

)# 所實現的運算是output = activation(dot(input, kernel)+bias)

# model.add(dense(units=64, activation='relu', input_dim=784))

# keras初始化所有啟用函式,activation:

# keras\activations.py

# keras\backend\cntk_backend.py

# import cntk as c

# 1.softmax:

# 對輸入資料的最後一維進行softmax,一般用在輸出層;

# ndim == 2,k.softmax(x),其實呼叫的是cntk,是乙個模組;

# ndim >= 2,e = k.exp(x - k.max(x)),s = k.sum(e),return e / s

# 2.elu

# k.elu(x)

# 3.selu: 可伸縮的指數線性單元

# alpha = 1.6732632423543772848170429916717

# scale = 1.0507009873554804934193349852946

# return scale * k.elu(x, alpha)

# 4.softplus

# c.softplus(x)

# 5.softsign

# return x / (1 + c.abs(x))

# 6.relu

# def relu(x, alpha=0., max_value=none):

# if alpha != 0.:

# negative_part = c.relu(-x)

# x = c.relu(x)

# if max_value is not none:

# x = c.clip(x, 0.0, max_value)

# if alpha != 0.:

# x -= alpha * negative_part

# return x

# 7.tanh

# return c.tanh(x)

# 8.sigmoid

# return c.sigmoid(x)

# 9.hard_sigmoid

# x = (0.2 * x) + 0.5

# x = c.clip(x, 0.0, 1.0)

# return x

# 10.linear

# return x

# keras初始化所有方法,initializer:

# zeros

# ones

# constant(固定乙個值)

# randomnormal(正態分佈)

# randomuniform(均勻分布)

# truncatednormal(截尾高斯分布,神經網路權重和濾波器的推薦初始化方法)

# variancescaling(該初始化方法能夠自適應目標張量的shape)

# orthogonal(隨機正交矩陣初始化)

# identiy(單位矩陣初始化,僅適用於2d方陣)

# lecun_uniform(lecun均勻分布初始化)

# lecun_normal(lecun正態分佈初始化)

# glorot_normal(glorot正態分佈初始化)

# glorot_uniform(glorot均勻分布初始化)

# he_normal(he正態分佈初始化)

# he_uniform(he均勻分布初始化,keras中文文件寫錯了)

# keras正則化,regularizer:

# import backend as k

# l1: regularization += k.sum(self.l1 * k.abs(x))

# l2: regularization += k.sum(self.l2 * k.square(x))

原文: 

keras中網路層的訓練

在定義好模型之後,需要進一步對神經網路進行訓練,此時就需要來對訓練方式進行定義,定義語句如下 定義訓練方式 model.compile loss categorical crossentropy,optimizer adam metrics accuracy 其中引數的設定具體如下 loss 損失函...

神經網路 keras中的層

core highway層 highway層建立全連線的highway網路,這是lstm在前饋神經網路中的推廣 convolution separableconvolution2d層 該層是對2d輸入的可分離卷積。可分離卷積首先按深度方向進行卷積 對每個輸入通道分別卷積 然後逐點進行卷積,將上一步的...

Keras學習筆記02 常用的網路層

在搭建神經網路結構時,我們要向網路中新增一些網路層,下面列舉出來常用的網路層及其相關用法。常用層對應於core模組,core內部定義了一系列常用的網路層,包括全連線 啟用層等。1.dense層 dense層 全連線層。keras.layers.core.dense output dim,init g...