• 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)

    示例:

    输出的结果如下所示:

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

    在网络中使用全连接层的作用是什么呢?这一点还是不太清楚,希望知道的可以帮忙解释一下,互相交流一下

        全连接层:通常在CNN的尾部进行重新拟合,减少特征信息的损失

  • 相关阅读:
    SharePoint Forums使用
    使用JS隐藏MOSS菜单
    缓存
    异步委托
    一个层动态放大的例子的一些知识点
    petshop之购物车再思考
    设置防止攻击session(疑惑)
    petshop异步和多线程
    Profile在petshop
    一个简单的显示隐藏知识点
  • 原文地址:https://www.cnblogs.com/wuyuan2011woaini/p/15883984.html
Copyright © 2020-2023  润新知