如何建立一个keras模型

Posted

技术标签:

【中文标题】如何建立一个keras模型【英文标题】:How to build a keras model 【发布时间】:2018-06-21 11:55:03 【问题描述】:

作为一个完整的初学者,我对如何堆叠 keras 层感到困惑,而 keras doc 没有帮助。我有一个包含浮点值的列表列表,所以我输入的形状是(51,80,1),其中我的 final_list 中有 51 个列表,每个列表都包含 80 个浮点值。我想用它来预测,我在另一个列表中有标签。

我有 3 个输出类。我想创建一个这样的 RNN 模型:

Layer               output_shape 
Input                (51,80,1)
GRU                  (51,100,1)
Dense                (51,100,1)
GRU                  (51,100)
LR                   (51,3)

到目前为止,我已经这样做了:

model = Sequential()
model.add(Dense(51,input_shape=(win_size,1)))
model.add(GRU(100))
model.add(Dense(100, activation='relu'))

有人可以帮忙学习一下吗?

【问题讨论】:

【参考方案1】:

您的目标网络设计似乎不是从密集层开始的,而是从 GRU 开始的,所以我将其删除。结果代码模仿规范:

model = Sequential()
model.add(GRU(units=100, input_shape=[80, 1]))
model.add(Dense(units=100, activation='relu'))
model.add(Reshape([100, 1]))
model.add(GRU(units=100))
model.add(Dense(units=3))
model.add(Activation('softmax'))

请注意,您不需要在模型中硬编码 51,因为它是您的批量大小并且不会影响模型架构。

【讨论】:

从哪里可以学到这个?官方文档以外的任何资源 这个页面包含很多不同主题的教程 - github.com/fchollet/keras-resources 非常感谢!

以上是关于如何建立一个keras模型的主要内容,如果未能解决你的问题,请参考以下文章

Keras如何改变加载模型的可训练层

如何在 Keras Regressor 中解释 MSE

如何在 Keras Regressor 中解释 MSE

在 tf.keras 中理解线性回归模型调优的问题

如何使用hyperopt进行Keras深度学习网络的超参数优化?

keras 入门整理 如何shuffle,如何使用fit_generator