tf.layers.dense()用法简介

tf.layers.dense

dense :全连接层,相当于添加一个层

函数如下:

tf.layers.dense(
  inputs,
  units,
  activation=None,
  use_bias=True,
  kernel_initializer=None,       #卷积核的初始化器
  bias_initializer=tf.zeros_initializer(),   #偏置项的初始化器,默认初始化为0
  kernel_regularizer=None,       #卷积核的正则化,可选
  bias_regularizer=None,     #偏置项的正则化,可选
  activity_regularizer=None,  #输出的正则化函数
  kernel_constraint=None,
  bias_constraint=None,
  trainable=True,
  name=None, #层的名字
  reuse=None #是否重复使用参数
)

部分参数解释:

inputs:输入该网络层的数据

units:输出的维度大小,改变inputs的最后一维

activation:激活函数,即神经网络的非线性变化

use_bias:使用bias为True(默认使用),不用bias改成False即可,是否使用偏置项

trainable=True:表明该层的参数是否参与训练。如果为真则变量加入到图集合中

GraphKeys.TRAINABLE_VARIABLES (see tf.Variable)

在其他网站上看到的使用现象

dense1 = tf.layers.dense(inputs=pool3, units=1024, activation=tf.nn.relu, kernel_regularizer=tf.contrib.layers.l2_regularizer(0.003))

全连接层:
dense1 = tf.layers.dense(inputs=pool3, units=1024, activation=tf.nn.relu)
dense2= tf.layers.dense(inputs=dense1, units=512, activation=tf.nn.relu)
logits= tf.layers.dense(inputs=dense2, units=10, activation=None)

示例:
tf.layers.dense()用法简介_第1张图片

输出的结果如下所示:
tf.layers.dense()用法简介_第2张图片

可以看到输出结果的最后一维度就等于神经元的个数,即units的数值(神经元的个数)

在网络中使用全连接层的作用是什么呢: 全连接层:通常在CNN的尾部进行重新拟合,减少特征信息的损失

REFERENCE:https://blog.csdn.net/yangfengling1023/article/details/81774580

你可能感兴趣的:(NLP,学习,自然语言处理)