tf.keras学习之layers.Dense

参考

tensorflow社区

做什么的?

简单来说就是对原矩阵进行变形,通过矩阵变换(矩阵乘法,偏置,激活函数)达到想要的矩阵形状。

使用

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维的
])

猜你喜欢

转载自blog.csdn.net/fuzizhu1/article/details/106101077