machine-learning - 将 dropout 应用于 LSTM 网络(Keras)中的输入层
问题描述
是否可以在 Keras 中将 dropout 应用于 LSTM 网络的输入层?
如果这是我的模型:
model = Sequential()
model.add(LSTM(10, input_shape=(look_back, input_length), return_sequences=False))
model.add(Dense(1))
目标是达到以下效果:
model = Sequential()
model.add(Dropout(0.5))
model.add(LSTM(10, input_shape=(look_back, input_length), return_sequences=False))
model.add(Dense(1))
解决方案
您可以使用Keras 功能 API,其中您的模型将被编写为:
inputs = Input(shape=(input_shape), dtype='int32')
x = Dropout(0.5)(inputs)
x = LSTM(10,return_sequences=False)(x)
定义你的输出层,例如:
predictions = Dense(10, activation='softmax')(x)
然后建立模型:
model = Model(inputs=inputs, outputs=predictions)
推荐阅读
- android - 如何在android中viewpager的空视图下方获取触摸事件
- c++ - 以与 Unity 相同的方式将 C++ 脚本添加到 Unreal 中的对象?
- h2o - h2o 模型如何确定用于预测的列(位置、名称等)?
- excel - Excel 365 数据连接数据源=$Workbook$
- ruby-on-rails - ActiveRecord 按来自多个表的列排序
- gdb - GDB 无法创建断点
- android - ListView中的Android自定义ArrayAdapter,ListView onClick适用于模拟器但不适用于手机
- gcc - GCC:如何找出可执行文件中包含库的原因
- r - 如何将 2.8 GB gzipped (40 GB TSV) 文件批量读取到 R 中?
- python-3.x - 从 Indeed.com 获取薪水