我想在 tensorflow 中构建一个 3 层 LSTM 用于视频分析。我在网上阅读了一些示例,但仍然令人困惑。任何人都可以帮助编写一个简洁的代码片段来完成如下任务:
输入:240X320 维度的 5 个连续视频帧
输出:5个标量
太感谢了。
我想在 tensorflow 中构建一个 3 层 LSTM 用于视频分析。我在网上阅读了一些示例,但仍然令人困惑。任何人都可以帮助编写一个简洁的代码片段来完成如下任务:
输入:240X320 维度的 5 个连续视频帧
输出:5个标量
太感谢了。
基本上,您必须为序列准备帧。你应该有一个像 (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 。
希望它有所帮助。