나는 tensorflow LSTM/RNN이있는 시퀀스에서 다음 요소를 예측하면서 이전 5 개 요소를 고려해야하는 텐서가 있습니다. X와 Y로 무엇을 먹어야합니까?Tensorflow - 예측 순서 : X와 Y는 무엇입니까?
1 2 3 4 5에서, 나는 6
내 입력 시퀀스 X를 가정 해 예측하려는 것은 : 내가 먹이를
Y = 2 3 4 5 6
7 8 9 10 11
12 13 14 15 16
... ?
또는 수행해야합니다
X = 1 2 3 4 5
6 7 8 9 10
11 12 13 14 15
...
내 Y가 있을까 그것 :
X = 1 2 3 4 5
2 3 4 5 6
3 4 5 6 7
....
W 예 :
Y = 6
7
8
... ?
또는 TensorFlow가 자동으로 수행합니까? 나는 실제 코드 (예측을 요청할 경우
x = tf.placeholder(tf.int32, [None, num_steps], name='input_placeholder')
y = tf.placeholder(tf.int32, [None, num_steps], name='labels_placeholder')
rnn_outputs = tf.reshape(rnn_outputs, [-1, state_size])
y_reshaped = tf.reshape(y, [-1])
logits = tf.matmul(rnn_outputs, W) + b
predictions = tf.nn.softmax(logits)
total_loss = tf.reduce_mean(tf.nn.sparse_softmax_cross_entropy_with_logits(logits=logits, labels=y_reshaped))
은 시간 단계 16 및 클래스의 수는 미안, 14313입니다 :
내가 함께 튜토리얼에서 영감을, 이제 첫 번째 방법을 사용하고 있습니다) :
prevSlice = np.array([[1, 2 , 3 , 4, 5, 6 ,7, 8, 9 ,10, 11, 12, 13, 14, 15, 16]], dtype=np.string_)
feed_dict={g['x']: prevSlice}
preds, state = sess.run([g['preds'],g['final_state']], feed_dict)
예측이 너무 많습니다. 아니면 어떻게 해석해야합니까? 다음 16 조각에 대한 예측은 필요 없습니다. 바로 다음에 1 조각에 대한 예측입니다. LSTM
이후
고마워요! 그런 일이 일어나는 것 같습니다. 한 번에 한 단계 씩 수행하는 것이 더 효율적인지 궁금합니다. 또한, 가장 가능성이 높은 16 번째 시퀀스를 선택한다고 가정합니다. 16 개의 벡터 각각에서 가장 가능성이 높은 것을 선택합니까 (의미 : 가장 가능성있는 1을 선택하면 가장 가능성있는 2 번째가 해당됩니다). 첫째)? – dorien
나는 가장 현명한 것이 예측에서 첫 번째를 고를 것이고 LSTM 위로 움직이는 창을 공급함으로써 더 예측할 것이라고 생각한다. 왜냐하면 다른 시퀀스가 다른 타임 스텝을 참조하기는하지만 시퀀스는 새로운 시퀀스의 첫 번째 요소와 확률 만 제공하기 때문입니다. – SerialDev
나는 이것이 가장 합리적인 것처럼 보인다는 것에 동의한다. 도와 주셔서 정말로 고맙습니다! – dorien