Beim Lesen des API-Dokuments von dynamic_rnn habe ich folgende Frage:Was ist die Beziehung zwischen Batch-Größe, Sequenzlänge und hidden_size?
Gibt es Einschränkungen für die Beziehung zwischen Batch-Größe, Sequenzlänge und (Zelle) hidden_size?
Ich denke, dass:
sequenz Länge < = (Zelle) hidden_size oder,
Batch-Größe * Sequenz-Länge < = (Zelle) hidden_size
Bin ich richtig? Ich habe viele Webseiten durchgelesen, konnte aber keine Antwort finden.
Vielen Dank.
https://www.tensorflow.org/api_docs/python/tf/nn/dynamic_rnn
Beispiel:
# create a BasicRNNCell
rnn_cell = tf.nn.rnn_cell.BasicRNNCell(hidden_size)
# 'outputs' is a tensor of shape [batch_size, max_time, cell_state_size]
# defining initial state
initial_state = rnn_cell.zero_state(batch_size, dtype=tf.float32)
# 'state' is a tensor of shape [batch_size, cell_state_size]
outputs, state = tf.nn.dynamic_rnn(rnn_cell, input_data,
initial_state=initial_state,
dtype=tf.float32)
# create 2 LSTMCells
rnn_layers = [tf.nn.rnn_cell.LSTMCell(size) for size in [128, 256]]
# create a RNN cell composed sequentially of a number of RNNCells
multi_rnn_cell = tf.nn.rnn_cell.MultiRNNCell(rnn_layers)
# 'outputs' is a tensor of shape [batch_size, max_time, 256]
# 'state' is a N-tuple where N is the number of LSTMCells containing a
# tf.contrib.rnn.LSTMStateTuple for each cell
outputs, state = tf.nn.dynamic_rnn(cell=multi_rnn_cell,
inputs=data,
dtype=tf.float32)