欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Tensorflow 添加全连接层

程序员文章站 2022-05-27 09:45:03
...

Tensorflow中提供了tf.layers.dense()tf.contrib.layers.fully_connected用于添加全连接层,两者功能一样,后者在前者基础上封装实现。

1. tf.layers.dense()

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即可。
  • kernel_initializer:权重矩阵的初始化函数。 如果为None(默认值),则使用tf.get_variable使用的默认初始化程序初始化权重。
  • bias_initializer:bias的初始化函数。
  • kernel_regularizer:权重矩阵的正则函数。
  • bias_regularizer:bias的的正则函数。
  • activity_regularizer:输出的的正则函数。
  • kernel_constraint:由优化器更新后应用于内核的可选投影函数(例如,用于实现层权重的范数约束或值约束)。 该函数必须将未投影的变量作为输入,并且必须返回投影变量(必须具有相同的形状)。 在进行异步分布式训练时,使用约束是不安全的。
  • bias_constraint:由优化器更新后应用于偏差的可选投影函数。
  • trainable:Boolean,如果为True,还将变量添加到图集- collectionGraphKeys.TRAINABLE_VARIABLES(参见tf.Variable)。
  • name:名字
  • reuse:Boolean,是否以同一名称重用前一层的权重。

2. tf.contrib.layers.fully_connected

tf.contrib.layers.fully_connected(
    inputs,
    num_outputs,
    activation_fn=tf.nn.relu,
    normalizer_fn=None,
    normalizer_params=None,
    weights_initializer=initializers.xavier_initializer(),
    weights_regularizer=None,
    biases_initializer=tf.zeros_initializer(),
    biases_regularizer=None,
    reuse=None,
    variables_collections=None,
    outputs_collections=None,
    trainable=True,
    scope=None
)
  • inputs:至少等级2的张量和最后一个维度的静态值; 即[batch_size, depth],[None, None, None, channels]。
  • num_outputs:整数或长整数,图层中的输出单位数。
  • activation_fn:**功能。默认值是ReLU功能。将其明确设置为“无”以跳过它并保持线性**。
  • normalizer_fn:使用标准化功能代替biases。如果 normalizer_fn提供biases_initializer,biases_regularizer则忽略并且biases不创建也不添加。没有规范化器功能,默认设置为“无”
  • normalizer_params:规范化函数参数。
  • weights_initializer:权重的初始化程序。
  • weights_regularizer:可选的权重正则化器。
  • biases_initializer:偏置的初始化程序。如果没有跳过偏置。
  • biases_regularizer:偏置的可选正则化器。
  • reuse:是否应重用图层及其变量。必须给出能够重用层范围的能力。
  • variables_collections:所有变量的集合的可选列表或包含每个变量的不同集合列表的字典。
  • outputs_collections:用于添加输出的集合。
  • trainable:如果True还将变量添加到图表集合中 GraphKeys.TRAINABLE_VARIABLES(请参阅tf.Variable)。
  • scope:variable_scope的可选范围。
相关标签: Tensorflow