【问题标题】:How to set the parameter of LSTM如何设置LSTM的参数
【发布时间】:2019-08-22 04:09:31
【问题描述】:

我通过以下方式获取数据,例如:

index:[   1,         2,      3,       4,       5,    ...]
value:[[1*1024],[1*1024],[1*1024],[1*1024],[1*1024], ...]
label:[total 10 categories, one_hot for each data]

对于我的问题,我的序列长度是固定的,假设每个序列有 5 个元素,维度为 1024。

我想用 LSTM 建立模型,依次输入 [1,2,3,4,5],[6,7,8,9,10] 等等,然后模型会给我例如对应的标签 [1*,2*,3*,4*,5*],[6*,7*,8*,9​​,10*]。 (* 表示该索引对应的标签)

所以我有几个问题: 1>输入大小是多少? [5,1024],[1024,5]??? 2>当设置“return_sequences = True”时,我注意到这个选项会影响LSTM的输出形状。

可以给我一些指导...真的很困惑。

【问题讨论】:

  • 是哪种语言?蟒蛇?

标签: machine-learning lstm recurrent-neural-network


【解决方案1】:

我的例子是在 Keras 和 Python 中: 首先,您必须按照以下格式准备数据:[您有多少训练样本,您的时间步长(在本例中为 1024),以及您有多少输入(我认为是 5)]。

model = Sequential()
model.add(LSTM(64, input_shape=(1024, 5)))
model.add(Dense(10, activation='softmax'))
adam = Adam()
model.compile(loss='mse', optimizer=adam, metrics=['accuracy'])

history = model.fit(train_data, train_label, epochs=epochs, batch_size=batch_size, verbose=2)

我不知道我的输入格式是否正确,但你可以调整它,因为我解释了它的外观。

【讨论】:

  • 谢谢!天哪,我认为他们需要稍微更新一下 keras 文档……真的不知道该怎么做……再次感谢!
  • 但我认为 input_shape 应该是 [5,1024]?我每个句子只有5个单词,每个单词都是1024特征的形式?
  • 好吧,如果你的序列是 5 个单词(时间步长),并且每个单词(时间步长)你有 1024 个数据,那么是的
猜你喜欢
  • 2022-07-28
  • 1970-01-01
  • 2020-07-24
  • 2017-12-29
  • 2018-03-19
  • 1970-01-01
  • 2015-12-25
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多