Deep learning基于theano的keras学习笔记(3)-网络层

1. 常用层

1.1 Dense层

keras.layers.core.Dense(output_dim, init='glorot_uniform', activation='linear', weights=None, W_regularizer=None, 
                        b_regularizer=None, activity_regularizer=None, W_constraint=None,b_constraint=None, bias=True, 
                        input_dim=None)

1.2 Activation层

keras.layers.core.Activation(activation)

1.3 Dropout层
为输入数据施加Dropout。Dropout将在训练过程中每次更新参数时随机断开一定百分比(p)的输入神经元连接,Dropout层用于防止过拟合。

keras.layers.core.Dropout(p)#p:0~1的浮点数,控制需要断开的链接的比例

1.4 SpatialDropout2D(3D)层
与Dropout的作用类似,但它断开的是整个2D(3D)特征图,而不是单个神经元。如果一张特征图的相邻像素之间有很强的相关性(通常发生在低层的卷积层中),那么普通的dropout无法正则化其输出,否则就会导致明显的学习率下降。这种情况下,SpatialDropout2D(3D)能够帮助提高特征图之间的独立性,应该用其取代普通的Dropout

keras.layers.core.SpatialDropout2D(p, dim_ordering='default')
#p:0~1的浮点数,控制需要断开的链接的比例;dim_ordering:'th'或'tf'
#默认为~/.keras/keras.json配置的image_dim_ordering值

1.5 Flatten层
Flatten层用来将输入“压平”,即把多维的输入一维化,常用在从卷积层到全连接层的过渡。Flatten不影响batch的大小。

keras.layers.core.Flatten()

1.6 Reshape层

Reshape层用来将输入shape转换为特定的shape
keras.layers.core.Reshape(target_shape)
#target_shape:目标shape,为整数的tuple,不包含样本数目的维度(batch大小)

1.7 Permute层

Permute层将输入的维度按照给定模式进行重排,例如,当需要将RNN和CNN网络连接时,可能会用到该层。
keras.layers.core.Permute(dims)
#dims:整数tuple,指定重排的模式,不包含样本数的维度。重拍模式的下标从1开始。
#例如(2,1)代表将输入的第二个维度重拍到输出的第一个维度,而将输入的第一个维度重排到第二个维度

1.8 RepeatVector层
RepeatVector层将输入重复n次

keras.layers.core.RepeatVector(n)

1.9 Merge层
Merge层根据给定的模式,将一个张量列表中的若干张量合并为一个单独的张量

keras.engine.topology.Merge(layers=None, mode='sum', concat_axis=-1, d
  • 3
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值