SpatialDropout

本文详细解析了Dropout()和SpatialDropout1D()的区别,通过实例演示了两者如何在不同维度上进行dropout操作。同时,文章还介绍了如何通过调整Dropout()的noise_shape参数来模拟SpatialDropout的效果,以及SpatialDropout系列函数在不同输入形状下的应用。
  • Dropout()SpatialDropout1D()的区别:

       假设input_shapebatch_size, timesteps, features, Dropout(),Dropout()是在所有数据上dropout,SpatialDropout1D()会按对         features的某几个维度进行dropout,如图:

       在这里插入图片描述

                               左图:Dropout(), 右图:SpatialDropout1D()

  • 可以通过设置Dropout()的参数noise_shape来实现SpatialDropout1D()。可以改变noise_shape查看具体效果。

       

import keras
import keras.backend as K
import numpy as np 
ary = np.arange(35*3).reshape((3, 7, 5)) 
inputs = K.variable(ary) 
print(ary) # result [[[ 0 1 2 3 4] [ 5 6 7 8 9] [10 11 12 13 14] [15 16 17 18 19] [20 21 22 23 24] [25 26 27 28 29] [30 31 32 33 34]]]

input_shape=K.shape(inputs) 
noise_shape=(input_shape[0], input_shape[1], 1) 
dropout_2 = K.eval(K.dropout(inputs, 0.5, noise_shape)) 
print(dropout_2)
  • SpatialDropout1D()SpatialDropout2D()SpatialDropout3D()的区别在于input_shape不同。见文档
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值