0

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

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

输出:5个标量

太感谢了。

4

1 回答 1

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)

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

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

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

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

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

有关更多信息,请在此处查看 API 。

希望它有所帮助。

于 2018-06-21T20:18:48.927 回答