Как правильно реализовать Conv + LSTM - PullRequest
0 голосов
/ 06 февраля 2019

Я работаю над классификацией видео и пытаюсь использовать Conv + LSTM.Эта проблема также является проблемой «многие к одному», которая предсказывает метку Y на основе нескольких кадров в одном видео.

Но код не работает, и форма вывода данных не та, которую я думаюбудет иметь.

X является входом и имеет 15 кадров в одном видео.Один кадр - 240 * 320 * 1.

self.X = tf.placeholder(tf.float32, [None, 15, 240, 320, 1])
self.y = tf.placeholder(tf.int64, [None])
def Net(self, X):
    convlstm_layer= tf.contrib.rnn.ConvLSTMCell(
        conv_ndims=2,
        input_shape=[240, 320, 1],
        output_channels=1,
        kernel_shape=[2,2],
        use_bias=True,
        skip_connection=False,
        forget_bias=1.0,
        initializers=None,
        name="conv_lstm_cell")
    initial_state = convlstm_layer.zero_state(self.args.batch_size, dtype=tf.float32)
    #self.args.batch_size==64
    outputs,_=tf.nn.dynamic_rnn(convlstm_layer,X,initial_state=initial_state, time_major=False,dtype="float32")
    y_out = outputs[-1]
    return y_out

. Выходная форма выходов (64, 15, 240, 320, 1).Но я думаю, что это должно быть (64,15) Выходная форма y_out (15, 240, 320, 1).Но я думаю, что это должно быть (64,1).y_out должен выводить только один прогноз.

Спасибо,

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...