【问题标题】:How to build a multi-layer LSTM in Tensorflow for a video sequence?如何在 Tensorflow 中为视频序列构建多层 LSTM?
【发布时间】:2018-02-26 01:48:31
【问题描述】:

我想在 tensorflow 中构建一个 3 层 LSTM 用于视频分析。我在网上阅读了一些示例,但仍然令人困惑。任何人都可以帮助编写一个简洁的代码sn-p来完成如下任务:

输入:240X320 维度的 5 个连续视频帧

输出:5 个标量

非常感谢。

【问题讨论】:

  • 您能否发布示例或您的努力?这将有助于我们更好地了解您的问题。

标签: video tensorflow lstm multi-layer


【解决方案1】:

基本上,您必须为序列准备帧。你应该有一个像 (Batch_size, sequence_length = 5, features = 240*320) 这样的向量。然后使用以下方法创建您的 3 Stacked LSTM:

layer1 = rnn.BasicLSTMCell(number_lstm_units)
layer2 = rnn.BasicLSTMCell(number_lstm_units)
layer3 = rnn.BasicLSTMCell(number_lstm_units)

对单元进行分组并将其传递给多 RNN 单元:

cells = [layer1, layer2, layer3]
multirnn = rnn.MultiRNNCell(cells)

然后,使用扁平化的特征向量,您只需通过 LSTM 传递每个元素

for feature in your_flattened_vector:
    lstm_output, state = cell(feature,state)

您将获得与输入大小相同的输出。

有关更多信息,请查看 API here

希望对您有所帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-07-12
    • 2021-08-24
    • 1970-01-01
    • 2016-10-20
    • 1970-01-01
    • 1970-01-01
    • 2021-10-21
    • 2019-09-16
    相关资源
    最近更新 更多