Ich baue eine LSTM wie:Tensorflow: DropoutWrapper führt zu unterschiedlichen Outputs?
lstm_cell = tf.nn.rnn_cell.LSTMCell(n_hidden, forget_bias=1.0, state_is_tuple=True, activation=tf.nn.tanh)
lstm_cell = tf.nn.rnn_cell.DropoutWrapper(lstm_cell, output_keep_prob=0.5)
lstm_cell = tf.nn.rnn_cell.MultiRNNCell([lstm_cell] * 3, state_is_tuple=True)
Dann ich das Modell trainieren und Variablen speichern. Das nächste Mal, wenn ich gespeicherte Variablen lade und das Training auslasse, gibt es mir eine andere Vorhersage.
Wenn ich die output_keep_prob
zu 1 ändern, kann dieses Modell mir immer die gleiche Vorhersage zeigen, aber wenn die output_keep_prob
ist kleiner als 1, wie 0,5, dieses Modell zeigt mir verschiedene Vorhersage jedes Mal.
Also ich denke, wenn die DropoutWrapper
zu unterschiedlichen Ausgang führt? Wenn ja, wie kann ich dieses Problem lösen?
Dank
Da es sich um eine zufällige Ganzzahl handelt, entspricht jede "Saat" einer anderen Art von Aussetzern? – nickzxd
Wenn ja, sollte ich verschiedene 'samen' ausprobieren, um ein optimiertes Ergebnis zu erhalten? Es scheint ein großes Projekt zu sein, alle zufälligen ganzen Zahlen zu versuchen ... – nickzxd
Hey @nickzxd und @kempy! Ich kann keine konsistenten Ergebnisse erzielen, nachdem ich 'Seed' im' DropoutWrapper' gesetzt habe. Wird noch etwas benötigt? – martianwars