我想在tensorflow中构建一个3层LSTM用于视频分析。我在网上看了一些例子,但仍然令人困惑。任何人都可以帮助编写一个简洁的代码片段来执行以下任务:
输入:240X320尺寸的5个连续视频帧
输出:5个标量
非常感谢你。
答案 0 :(得分:1)
基本上,您必须为序列准备帧。您应该有一个矢量,例如(Batch_size,sequence_length = 5,features = 240 * 320)。然后使用以下命令创建3个堆叠的LSTM:
layer1 = rnn.BasicLSTMCell(number_lstm_units)
layer2 = rnn.BasicLSTMCell(number_lstm_units)
layer3 = rnn.BasicLSTMCell(number_lstm_units)
对单元进行分组并将其传递到Multi RNN单元:
cells = [layer1, layer2, layer3]
multirnn = rnn.MultiRNNCell(cells)
然后使用扁平化的特征向量,您只需通过LSTM传递每个元素
for feature in your_flattened_vector:
lstm_output, state = cell(feature,state)
您将获得与输入大小相同的输出。
有关其他信息,请检查API here。
希望有帮助。