隻是你的常規densely-connected NN 層。
用法
tf.keras.layers.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, **kwargs
)
參數
-
units
正整數,輸出空間的維度。 -
activation
要使用的激活函數。如果您未指定任何內容,則不會應用任何激活(即 "linear" 激活:a(x) = x
)。 -
use_bias
布爾值,層是否使用偏置向量。 -
kernel_initializer
kernel
權重矩陣的初始化程序。 -
bias_initializer
偏置向量的初始化器。 -
kernel_regularizer
應用於kernel
權重矩陣的正則化函數。 -
bias_regularizer
應用於偏置向量的正則化函數。 -
activity_regularizer
應用於層輸出的正則化函數("activation")。 -
kernel_constraint
應用於kernel
權重矩陣的約束函數。 -
bias_constraint
應用於偏置向量的約束函數。
Dense
實現操作:output = activation(dot(input, kernel) + bias)
其中activation
是作為activation
參數傳遞的逐元素激活函數,kernel
是層創建的權重矩陣,bias
是創建的偏置向量按層(僅當 use_bias
為 True
時適用)。這些都是 Dense
的所有屬性。
注意:如果層的輸入的秩大於 2,則 Dense
沿 inputs
的最後一個軸和 kernel
的軸 0 計算 inputs
和 kernel
之間的點積(使用tf.tensordot
)。例如,如果輸入的維度為 (batch_size, d0, d1)
,那麽我們創建一個形狀為 (d1, units)
的 kernel
,並且 kernel
沿 input
的軸 2 運行,在每個形狀為 (1, 1, d1)
的 sub-tensor 上(有batch_size * d0
這樣的sub-tensors)。在這種情況下,輸出將具有形狀 (batch_size, d0, units)
。
此外,圖層調用一次後,圖層屬性不能修改(trainable
屬性除外)。當傳遞一個流行的 kwarg input_shape
時,keras 將創建一個輸入層以插入到當前層之前。這可以等同於顯式定義 InputLayer
。
例子:
# Create a `Sequential` model and add a Dense layer as the first layer.
model = tf.keras.models.Sequential()
model.add(tf.keras.Input(shape=(16,)))
model.add(tf.keras.layers.Dense(32, activation='relu'))
# Now the model will take as input arrays of shape (None, 16)
# and output arrays of shape (None, 32).
# Note that after the first layer, you don't need to specify
# the size of the input anymore:
model.add(tf.keras.layers.Dense(32))
model.output_shape
(None, 32)
輸入形狀:
N-D 具有形狀的張量:(batch_size, ..., input_dim)
。最常見的情況是形狀為 (batch_size, input_dim)
的 2D 輸入。
輸出形狀:
N-D 具有形狀的張量:(batch_size, ..., units)
。例如,對於形狀為 (batch_size, input_dim)
的 2D 輸入,輸出的形狀為 (batch_size, units)
。
相關用法
- Python tf.keras.layers.DenseFeatures用法及代碼示例
- Python tf.keras.layers.Dropout用法及代碼示例
- Python tf.keras.layers.Dot用法及代碼示例
- Python tf.keras.layers.Discretization用法及代碼示例
- Python tf.keras.layers.InputLayer用法及代碼示例
- Python tf.keras.layers.serialize用法及代碼示例
- Python tf.keras.layers.maximum用法及代碼示例
- Python tf.keras.layers.LayerNormalization用法及代碼示例
- Python tf.keras.layers.Conv2D用法及代碼示例
- Python tf.keras.layers.RepeatVector用法及代碼示例
- Python tf.keras.layers.Multiply用法及代碼示例
- Python tf.keras.layers.Activation用法及代碼示例
- Python tf.keras.layers.Conv1D用法及代碼示例
- Python tf.keras.layers.experimental.preprocessing.PreprocessingLayer.adapt用法及代碼示例
- Python tf.keras.layers.CategoryEncoding用法及代碼示例
- Python tf.keras.layers.subtract用法及代碼示例
- Python tf.keras.layers.experimental.preprocessing.HashedCrossing用法及代碼示例
- Python tf.keras.layers.Subtract用法及代碼示例
- Python tf.keras.layers.ZeroPadding3D用法及代碼示例
- Python tf.keras.layers.MaxPool3D用法及代碼示例
注:本文由純淨天空篩選整理自tensorflow.org大神的英文原創作品 tf.keras.layers.Dense。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。