Keras搭建神經網路 網路結構

2021-09-26 22:04:54 字數 3488 閱讀 5304

layer.get_weights():用於返回層的權重

layer.set_weights(weights):用於從numpy array中將權重載入到該層中,要求numpy array的形狀與layer.get_weights()返回的形狀相同

layer.get_config():用於返回當前層配置資訊的字典,層也可以由配置資訊重構

對於只有乙個計算節點的層來說,還由:

layer.input

layer.output

layer.input_shape

layer.output_shape

dense

是常見的全連線層,原型如下:

keras.layers.core.dense(units,activation=none,use_bias=true,kernel_initializer=『glorot_uniform』,bias_initialize=『zeros』,kernel_regularizer=none,bias_regularizer=none,activity_regularize=none,kernal_constraint=none,bias_constraint=none)

units:大於0的整數,表示該層的輸出維度

activation:啟用函式,如果不指定該引數,則相當於使用線性啟用函式

activation

啟用層,用來對乙個層的輸出啟用函式,原型如下

keras.layers.core.activation(activation)

dropout

為輸入資料施加dropout,該層能夠在訓練過程中每次更新引數時,隨機斷開一定百分比(rate)的輸入神經元,用於防止過擬合。原型如下:

keras.layers.core.dropout(rate,noise_shape=none.seed=none)

rate:0~1的浮點數,用於控制需要斷開的神經元比例

noise_shape:整數張量,為將要應用在輸入上的二值dropout mask的shape。

seed:整數,使用的隨機數種子

flatten

用來將輸入"壓平",即把多維的輸入一維化,常用在從卷積層到全連線層的過渡,flatten不影響batch的大小。原型如下:

keras.layers.core.flatten()

conv1d

一維卷積層,用於在一維輸入訊號上進行鄰域濾波。原型如下:

keras.layers.convolutional.conv1d(filiters,kernel_size,strides=1,padding=『valid』,dilation_rate=1,activation=none,use_bias=true,kernal_initializer=『glorot_uniform』,bias_initializer=『zeros』,kernel_regularizer=none,bias_regularizer=none,activity_regularizer=none,kernel_constraint=none,bias_constraint=none)

filiter:卷積核的數目,也決定了輸出的維度

kernel_size:整數或由單個整數構成的list/tuple,卷積核的空域或時域窗長度

strides:整數或由單個整數構成的list/tuple,為卷積的步長。任何不為1的strides均與任何不為1的dilation_rata均不相容。

padding:補0策略,為[valid]、[same]或[causal]。

conv2d

二維卷積層,即對影象的空域卷積。該層對二維輸入進行滑動窗卷積。原型如下:

keras.layers.convolutional.conv2d(filiters,kernel_size,strides=(1,1),padding=『valid』,dilation_rate=(1,1),activation=none,use_bias=true,kernal_initializer=『glorot_uniform』,bias_initializer=『zeros』,kernel_regularizer=none,bias_regularizer=none,activity_regularizer=none,kernel_constraint=none,bias_constraint=none)

conv3d

三為卷積對三維的輸入進行滑動窗卷積。原型如下:

keras.layers.convolutional.conv3d(filiters,kernel_size,strides=(1,1,1).padding=『valid』,dilation_rate=(1,1,1),activation=none,use_bias=true,kernal_initializer=『glorot_uniform』,bias_initializer=『zeros』,kernel_regularizer=none,bias_regularizer=none,activity_regularizer=none,kernel_constraint=none,bias_constraint=none)

maxpooling1d

對時域1d訊號進行最大值池化。原型如下:

keras.layers.pooling.maxpooling1d(pool_size=2,strides=none,padding=『valid』)

pool_size:整數,表示池化視窗大小

strides:整數或none,下取樣因子。

padding:[valid]或[same]

maxpooling2d

為空域訊號進行最大值池化。原型如下:

keras.layers.pooling.maxpooling2d(pool_size=(2,2),strides=none,padding=『valid』,data_format=none)

pool_size:整數或長為2的整數tuple,代表在兩個方向(豎直,水平)上的下取樣因子,如取(2,2)將使在兩個維度上均變為原長的一半。該值為整數,表示各個維度值相同且為該數字。

strides:整數或長為2的整數tuple,或者none,步長值。

maxpooling3d

為3d訊號(空域或時空域)施加最大值池化。

keras.layers.pooling.maxpooling3d(pool_size=(2,2,2),strides=none,padding=『valid』,data_format=none)

需要注意的是,該層只能在使用theano為後端時可用。

pool_size:整數或長為3的整數tuple,代表在三個維度(豎直,水平)上的下取樣因子,如取(2,2,2)將使在每個維度上均變為原長的一半。改值為整數,表示各個維度值相同且為該數字。

strides:整數或長為3的整數tuple,或者none,步長值。

神經網路結構

定義 在機器學習和認知科學領域,人工神經網路 artificial neural network,縮寫ann 簡稱神經網路 neural network,縮寫nn 或類神經網路,是一 種模仿生物神經網路的結構和功能的計算模型,用於對函式進行估計或近似。神經網路的種類 基礎神經網路 單層感知器,線性神...

卷積神經網路結構

卷積神將網路的計算公式為 n w f 2p s 1 其中n 輸出大小 w 輸入大小 f 卷積核大小 p 填充值的大小 s 步長大小 即與用和原輸入層大小 深度完全一致的卷積核進行卷積,形成11x的全連線層 即展開 其中x由卷積核的層數決定。寫 時也可以直接展開為一維 不改變輸入層的大小,但改變輸入和...

Caffe神經網路結構彙總

自2012年alexnet贏得了imagenet競賽以來,深度學習 神經網路 得到了飛速發展,產生了許多的神經網路結構,本文主要總結caffe中使用的神經網路 分類的神經網路 本文的神經網路作者都使用caffe訓練過,並在kaggle的intel癌症 比賽中進行了測試與使用 top 8 alexne...