全连接层fc
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,
)
● inputs:输入
● units: 输出维数
● activation: 使用什么激活函数(神经网络的非线性层),
● use_bias: 该层是否使用偏差(默认使用True)
● kernel_initializer:权重矩阵的初始化函数。 如果为None(默认值),则使用tf.get_variable使用的默认初始化程序初始化权重。
● bias_initializer:bias的初始化函数。
● kernel_regularizer:权重矩阵的正则函数。
● bias_regularizer:bias的的正则函数。
● activity_regularizer:输出的的正则函数。
● kernel_constraint:可选,默认为 None,施加在权重上的约束项
一般只用到前三个参数,对于
tf.layers.dense(inputs,units)
会在内部自动生成一个权矩阵kernel 和偏移项bias,例如:尺寸为[m, n]的二维张量input, tf.layers.dense(input,k)会生成:尺寸为[n, k]的权矩阵,和尺寸为[m, k] 的偏移项。内部的计算过程为y = input * kernel + bias,输出值y的维度为[m, k]。