Hier ist mein Code im Tensor Flow, ich habe eine Bi-LSTM definiert und für eine bestimmte Aufgabe muss ich über meine Grafik Schleife. obwohl ich Wiederverwendung = True in Scope Variable gesetzt habe, aber es erzeugt den Fehler, der unter dem Code erwähnt wird.TensorFlow Wiederverwendung Variable Scope
for run in range(0, 2):
with tf.variable_scope("LSTM", reuse= True) as scope:
def LSTM(input_data):
LSTM_cell_fw= tf.contrib.rnn.BasicLSTMCell(num_units= hidden_size)
LSTM_cell_bw= tf.contrib.rnn.BasicLSTMCell(num_units= hidden_size)
output, states = tf.nn.bidirectional_dynamic_rnn(LSTM_cell_fw, LSTM_cell_bw, inputs= input_data, dtype=tf.float32)
output_1= output[0]
output_2= output[1]
output_1= output_1[-1, -1, :]
output_1= tf.reshape(output_1, shape= (1, hidden_size))
output_2= output_2[-1, -1, :]
output_2= tf.reshape(output_2, shape= (1, hidden_size))
fin_output= tf.concat((output_1, output_2), axis=1)
return fin_output
und der Fehler ist: Valueerror: Variable bidirectional_rnn/fw/basic_lstm_cell/kernel bereits vorhanden ist, nicht zulässig. Wollten Sie in VarScope reuse = True setzen? Ursprünglich definiert unter:
File "alpha-rep.py", Zeile 65, in LSTM Ausgang, besagt = tf.nn.bidirectional_dynamic_rnn (LSTM_cell_fw, LSTM_cell_bw, Eingänge = INPUT_DATA, dtype = tf.float32) File " alpha-rep.py“, Linie 77, in out = LSTM (INPUT_DATA)
Vielen Dank für Ihre Antwort, Du meinst zum Beispiel hier zum ersten Mal, dass der Graph funktioniert (run = 0), die Wiederverwendung soll falsch sein und wenn run> 0 ist, soll es wahr sein, oder? – Maz
Es hat perfekt funktioniert, danke – Maz
Gern geschehen! – nessuno