TensorflowのRNNのバッチアプローチは私には分かりません。例えばtf.nn.rnn Tensors [BATCH_SIZE x INPUT_SIZE]の入力リストを取る。私たちは通常、データのセッションバッチに給餌しています。なぜ、バッチのリストは一括バッチではないのですか?TensorflowのRNNとバッチ
これは私のために次の混乱につながる:
data = []
for _ in range(0, len(train_input)):
data.append(tf.placeholder(tf.float32, [CONST_BATCH_SIZE, CONST_INPUT_SIZE]))
lstm = tf.nn.rnn_cell.BasicLSTMCell(CONST_NUM_OF_HIDDEN_STATES)
val, state = tf.nn.rnn(lstm, data, dtype=tf.float32)
私はtf.nn.rnn
に[CONST_BATCH_SIZE X CONST_INPUT_OTPUT_SIZE]テンソルのリストを渡し、テンソル[CONST_BATCH_SIZE X CONST_NUM_OF_HIDDEN_STATES]のリストである出力値を得ました。今、私はすべてのHIDDEN_STATES出力用のソフトマックスを使用してmatmaul +バイアス
と重みを計算する必要がしたい私はMATMULのために使用する必要があります。
weight = tf.Variable(tf.zeros([CONST_NUM_OF_HIDDEN_STATES, CONST_OTPUT_SIZE]))
for i in val:
mult = tf.matmul(i, weight)
bias = tf.Variable(tf.zeros([CONST_OTPUT_SIZE]))
prediction = tf.nn.softmax(mult + bias)
または私はval
から2次元配列を作成し、for
なしtf.matmul
を使用する必要があります?
出力は3D(2Dのリスト)であるとsoftmax_wが問題である2Dである:私はバッチで反復または出力 – Brans
のために、3Dから2D配列を作成する必要がありますが、一例で、これらの寸法を記入することができ、それが希望理解しやすい – rrb