参考
做什么的?
简单来说就是对原矩阵进行变形,通过矩阵变换(矩阵乘法,偏置,激活函数)达到想要的矩阵形状。
使用
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:要使用的激活功能。默认不会应用任何激活(即“线性”激活:)a(x) = x。
// 激活函数
relu: y = max(0, x);
softmax: 将向量变成概率分布. x = [x1, x2, x3],y = [e^x1/sum, e^x2/sum, e^x3/sum],
sum = e^x1 + ^x2 + e^x3
use_bias:布尔值,层是否使用偏差矢量。
kernel_initializer:kernel权重矩阵的初始化程序。
bias_initializer:偏置向量的初始化器。
kernel_regularizer:正则化函数应用于kernel权重矩阵。
bias_regularizer:正则化函数应用于偏差向量。
activity_regularizer:正则化函数应用于图层的输出(其“激活”)。
kernel_constraint:约束函数应用于kernel权重矩阵。
bias_constraint:约束函数应用于偏差向量。
例子
model = keras.models.Sequential([
keras.layers.Flatten(input_shape=[28, 28]),
keras.layers.Dense(300, activation='relu'),
#转换成300维的
keras.layers.Dense(100, activation='relu'),
#转换成100维的
keras.layers.Dense(10, activation='softmax')
#转换成10维的
])