다른 시간 간격 (다른 프레임 수)을 가진 입력으로 LSTM을 사용하려고합니다. rnn.static_rnn에 대한 입력은 tf의 시퀀스 여야합니다 (tf!가 아님). 따라서 입력을 시퀀스로 변환해야합니다. 나는 tf.unstack과 tf.split을 사용하려고 시도했지만, 두 입력은 정확한 입력 크기를 알아야하고, 입력의 한 차원 (시간 단계)은 다른 입력에 의해 변경됩니다. 내가 tf.unstack 사용하고 때tensorflow에서 하나의 None 차원으로 입력 (자리 표시 자)의 압축을 풉니 다 (자리 비움)
n_input = 256*256 # data input (img shape: 256*256)
n_steps = None # timesteps
batch_size = 1
# tf Graph input
x = tf.placeholder("float", [ batch_size , n_input,n_steps])
y = tf.placeholder("float", [batch_size, n_classes])
# Permuting batch_size and n_steps
x1 = tf.transpose(x, [2, 1, 0])
x1 = tf.transpose(x1, [0, 2, 1])
x3=tf.unstack(x1,axis=0)
#or x3 = tf.split(x2, ?, 0)
# Define a lstm cell with tensorflow
lstm_cell = rnn.BasicLSTMCell(num_units=n_hidden, forget_bias=1.0)
# Get lstm cell output
outputs, states = rnn.static_rnn(lstm_cell, x3, dtype=tf.float32,sequence_length=None)
나는 오류 다음있어 : 일부 토론 here 및 here가, 또한
ValueError: Cannot infer num from shape (?, 1, 65536)
,하지만 그들 중 누구도 유용하지 않았다 다음은 내 코드의 일부입니다 나를. 어떤 도움을 주셔서 감사합니다.