テンソルは、前の5つの要素を考慮しながら、テンソルフローLSTM/RNNを持つシーケンス内の次の要素を予測する必要があります。私はXとYに何を供給するべきですか?Tensorflow - 予測シーケンス:XとYは何ですか?
X = 1 2 3 4 5
6 7 8 9 10
11 12 13 14 15
...
私Yは次のようになります:
Y = 2 3 4 5 6
7 8 9 10 11
12 13 14 15 16
... ?
それとも私が養う必要があります1 2 3 4 5から
、私は6
は私の入力シーケンスXがあるとし予測したいですそれ:
X = 1 2 3 4 5
2 3 4 5 6
3 4 5 6 7
....
W私のYは:
Y = 6
7
8
... ?
これは自動的に行うのですか?
私は、チュートリアルに触発され、今最初のアプローチを使用しています:
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)
予測が15を超えます。あるいはこれらをどのように解釈すべきですか?次の16個のスライスの予測は必要ありません。
ありがとうございます!それは起こっているようです。一度に1ステップずつ行う方が効率的かどうか疑問に思っています。また、16の最も可能性の高いシーケンスを選びたいとします.16個のベクトルのそれぞれから最も可能性の高いものを選んでいますか?(意味することは、最も可能性の高い第1位を選ぶと、 1)? – dorien
私は、最も賢明なものが予測の最初のものを選ぶだろうと思って、LSTMに動いている窓を与えることによってさらに予測します。新しいシーケンスとその確率の最初の要素として1つだけ与えられますが、異なるとは異なるタイムステップを参照するためです。 – SerialDev
私は同意する、それは最も理にかなっているようだ。あなたの助けをありがとう! – dorien