本篇文章主要介绍了浅谈张量流1.0池化层(共用)和全连接层(密集),小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
池化层定义在张量流/python/层/池。py .
有最大值池化和均值池化。
1、tf.layers.max_pooling2d
max_pooling2d(
输入,
pool_size,
大步流星,
填充=有效,
data_format=channels_last ,
名称=无
)
输入:进行池化的数据。
pool_size:池化的核大小(池_高,池_宽),如[3,3].如果长宽相等,也可以直接设置为一个数,如池大小=3。
步幅:池化的滑动步长。可以设置为[1,1]这样的两个整数。也可以直接设置为一个数,如步幅=2
填充:边缘填充,相同和有效选其一。默认为有效的
数据格式:输入数据格式,默认为频道_最后,即(批次、高度、宽度、通道),也可以设置为频道_优先对应(批次、通道、高度、宽度)。
名称:层的名字。
例:
pool1=tf.layers.max_pooling2d(输入=x,pool_size=[2,2],步幅=2)
一般是放在卷积层之后,如:
conv=tf.layers.conv2d(
输入=x,
过滤器=32,
kernel_size=[5,5],
填充=相同,
activation=tf.nn.relu)
pool=tf.layers.max_pooling2d(输入=conv,pool_size=[2,2],步幅=2)
2.tf.layers.average_pooling2d
average_pooling2d(
输入,
pool_size,
大步流星,
填充=有效,
data_format=channels_last ,
名称=无
)
参数和前面的最大值池化一样。
全连接稠密的层定义在张量流/python/图层/核心。py .
3、tf.layers.dense
密集(
输入,
单位,
激活=无,
use_bias=True,
内核初始化器=无
bias _ initializer=TF。zeros _ initializer(),
内核正则化符=无,
偏差_正则化=无,
activity _ regularizer=无,
可训练=真,
名称=无,
重用=无
)
输入:输入数据,2维张量。
单位:该层的神经单元结点数。
激活:激活函数。
使用偏差:布尔值型,是否使用偏置项。
内核初始化器:卷积核的初始化器。
bias_initializer:偏置项的初始化器,默认初始化为0.
内核正则化:卷积核化的正则化,可选。
偏差_正则化:偏置项的正则化,可选。
activity _ regularizer:输出的正则化函数。
可训练:布尔型型,表明该层的参数是否参与训练。如果为真则变量加入到图集合中图形键。可训练变量(参见tf .变量)。
名称:层的名字。
重用:布尔型型,是否重复使用参数。
全连接层执行操作输出=激活(输入。内核偏差)
如果执行结果不想进行激活操作,则设置激活=无。
例:
#全连接层
dense1=tf.layers.dense(输入=pool3,单位=1024,激活=tf.nn.relu)
dense2=tf.layers.dense(输入=dense1,单位=512,激活=tf.nn.relu)
logits=tf.layers.dense(输入=dense2,单位=10,激活=无)
也可以对全连接层的参数进行正则化约束:
复制代码代码如下:密集1=TF。层次。dense(inputs=pool 3,units=1024,activation=tf.nn.relu,kernel _ regulator=TF。贡献。层次。L2 _调节器(0.003))
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。