【问题标题】:What is the difference between these two methods of batching with stateful LSTM这两种使用有状态 LSTM 进行批处理的方法有什么区别
【发布时间】:2018-07-27 14:27:51
【问题描述】:

对于有状态 LSTM,这两种方法实际上是否相同:

batch_input_shape = [1,10,2]
for _ in range(3):
    x_batch, y_batch = batcher()
    model.train_on_batch(x_batch, y_batch)
model.reset_states()

batch_input_shape = [3,10,2]
x_batch, y_batch = batcher()
model.train_on_batch(x_batch, y_batch)
model.reset_states()

即第一种方法 30 行数据分布在 3 个不同批次的 10 个序列中,reset_states() 在所有 3 个 train_on_batch() 调用之后调用。第二种方法30行数据分批提交,3个10个序列,之后立即调用reset_states()

假设所有的数据都是一样的,抛开训练时间(第一种方法会花费更长的时间),最终的结果是一样的吗?

【问题讨论】:

    标签: neural-network lstm recurrent-neural-network rnn


    【解决方案1】:

    对于任何感兴趣的人来说,它们都是一样的。状态在批次之间结转,所以提交3批次10做30和提交1批次30是一样的。

    【讨论】:

    • 这并没有提供问题的答案。要批评或要求作者澄清,请在他们的帖子下方留下评论。 - From Review
    • 不过,这应该是问题的一部分,而不是答案。
    • 不,不应该。我想我知道在问什么问题,除非你知道不同?我问这两种方法是否产生相同的最终结果——这正是我问的问题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-09-08
    • 2019-03-31
    • 2021-10-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多