只是你的常规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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。