【问题标题】:Will model.predict update a GRU layer states correctly?model.predict 会正确更新 GRU 层状态吗?
【发布时间】:2021-01-19 21:45:10
【问题描述】:

这是我的第一个问题,欢迎提出建议!

背景

我建立了一个类似于这个的模型。

我正在使用model.predict(inputs) 进行预测,并构建了我的自定义函数和流程以使其学习。它似乎奏效了,而且它预测的一切似乎都很好。

几天前,我看了这个视频: https://youtu.be/8HyCNIVRbSU?t=284 (它从产生我的问题的部分开始)我复制了引起我注意的图像: 它表示每个输入按顺序插入每个单元格上,每个单元格将按该顺序向下一个单元格提供更多信息。

我开始怀疑我的实现是否正确,我会给你所有可能有用的细节。

详情

  1. am在两个 GRU 层中都使用 stateful=True
  2. model.predict(inputs) 的输入定义为 inputs = [np.array(arr).reshape(1, 1, 6), np.array(arr2).reshape(1, 1, 4)]
  3. 我有一个 CSV,其中包含输入第一部分的值,但对于其他值,我会即时创建它们。这就是我使用model.predict 的原因。因此,如果有另一种方式可以同时发送静态和“动态数据”,我很乐意这样做。
  4. 在加载模型后,我与模型交互的唯一方法是要求预测值并更新其权重(并在我输入新序列时重置状态)。

现在,有了所有这些信息,问题将是:

  • 是型号。预测正确更新所有单元状态并充分利用 GRU 层?
  • 还是总是将数据发送到第一个单元格?

【问题讨论】:

  • GRU(和其他 RNN)从序列中获取第一项,重新计算其状态,获取第二项,重新计算其状态,依此类推
  • 即使我使用的是predict 方法?这就是我担心的事情。感谢您的帮助!
  • predict() 的前向传递与 fit() 的前向传递相同
  • 太棒了!您介意上传答案以便我将其标记为正确吗?

标签: python tensorflow input recurrent-neural-network training-data


【解决方案1】:

在前向传递过程中(predict()fit()),GRU(和其他 RNN)从您的序列中获取第一项,重新计算其状态,获取第二项,重新计算其状态等等。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-02-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-12
    • 2014-09-20
    相关资源
    最近更新 更多