网上看到的总结比较详细的一篇博文。
原文:https://blog.csdn.net/qq_41853536/article/details/83548637
dense(
inputs,
units,
activation=None,
use_bias=True,
kernel_initializer=None,
bias_initializer=tf.zeros_initializer(),
kernel_regularizer=None,
bias_regularizer=None,
activity_regularizer=None,
trainable=True,
name=None,
reuse=None
)
参数:
inputs:tf.layers.dense 的Tensor输入。
units:整数或长整数,输出空间的维数。
activation:激活功能(可调用),将其设置为“None”以保持线性激活。
use_bias:Boolean,表示该层是否使用偏差。
kernel_initializer:权重矩阵的初始化函数;如果为None(默认),则使用tf.get_variable使用的默认初始化程序初始化权重。
bias_initializer:偏置的初始化函数。
kernel_regularizer:权重矩阵的正则化函数。
bias_regularizer:正规函数的偏差。
activity_regularizer:输出的正则化函数。
kernel_constraint:由Optimizer更新后应用于内核的可选投影函数(例如,用于实现层权重的范数约束或值约束)。该函数必须将未投影的变量作为输入,并且必须返回投影变量(必须具有相同的形状)。在进行异步分布式训练时,使用约束是不安全的。
bias_constraint:由Optimizer更新后应用于偏置的可选投影函数。
trainable:Boolean,如果为True,还将变量添加到图集合GraphKeys.TRAINABLE_VARIABLES中(请参阅参考资料tf.Variable)。
name:String,图层的名称;具有相同名称的图层将共享权重,但为了避免错误,在这种情况下,我们需要reuse=True。
reuse:Boolean,是否以同一名称重用前一层的权重。
整个tf.layer.dense()参数如下:
dense:全连接层
相当于添加一个层,即初学的add_layer()函数
tf.layers.dense ( inputs, units, activation=None, use_bias=True, kernel_initializer=None, bias_initializer=tf.zeros_initializer(), kernel_regularizer=None, bias_regularizer=None, activity_regularizer=None, kernel_constraint=None, bias_constraint=None, trainable=True, name=None, reuse=None )、
常用的几个参数:
inputs: 该层的输入
units: 输出的大小(维数),整数或long
activation: 使用什么激活函数(神经网络的非线性层),默认为None,不使用激活函数
use_bias: 使用bias为True(默认使用),不用bias改成False即可
tf.layers.dense ( inputs, units, activation)
参考链接:
tf.layers.dense用法 - 阿里云 https://yq.aliyun.com/ziliao/499817
TensorFlow函数:tf.layers.Dense_w3cschool https://www.w3cschool.cn/tensorflow_python/tensorflow_python-rn6a2tps.html