gpt4 book ai didi

python - 如何正确使用 Keras LSTM batch_input_size

转载 作者:行者123 更新时间:2023-12-01 07:57:23 25 4
gpt4 key购买 nike

我正在使用 Keras 框架构建堆叠 LSTM 模型,如下所示:

model.add(layers.LSTM(units=32,
batch_input_shape=(1, 100, 64),
stateful=True,
return_sequences=True))
model.add(layers.LSTM(units=32, stateful=True, return_sequences=True))
model.add(layers.LSTM(units=32, stateful=True, return_sequences=False))
model.add(layers.Dense(1))
model.compile(loss='mean_squared_error', optimizer='adam')
model.fit(train_dataset,
train_labels,
epochs=1,
validation_split = 0.2,
verbose=1,
batch_size=1,
shuffle=False)

知道 mode.fitmodel.predictmodel.evaluate 的默认 batch_size 是 32 ,模型强制我将此默认 batch_size 更改为 batch_input_shape (batch_size, time_steps, input_dims) 中使用的相同 batch_size 值。

我的问题是:

  1. batch_size 传递给batch_input_shape 或进入 model.fit
  2. 我可以使用 batch_size 进行训练(假设为 10),并在单个批处理上进行评估(而不是10 个批处理)如果我将 batch_size 传递到LSTM 层通过 batch_input_shape

最佳答案

当lstm层处于有状态模式时,必须给出batch size并且不能为None。这是因为 lstm 是有状态的,需要知道如何将隐藏状态从 t-1 时间步批量连接到 t 时间步批量

关于python - 如何正确使用 Keras LSTM batch_input_size,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55898522/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com