Wie wende ich Gradientenbeschneidung in TensorFlow an?
Unter Berücksichtigung derexample code.
Ich möchte wissen, wie Gradienten-Clipping in diesem Netzwerk auf dem RNN angewendet wird, bei dem die Möglichkeit besteht, dass Gradienten explodieren.
tf.clip_by_value(t, clip_value_min, clip_value_max, name=None)
Dies ist ein Beispiel, das verwendet werden könnte, aber wo stelle ich das vor? In der Def von RNN
lstm_cell = rnn_cell.BasicLSTMCell(n_hidden, forget_bias=1.0)
# Split data because rnn cell needs a list of inputs for the RNN inner loop
_X = tf.split(0, n_steps, _X) # n_steps
tf.clip_by_value(_X, -1, 1, name=None)
Aber das macht keinen sinn da der tensor _X der eingang ist und grad nicht was soll abgeschnitten werden?
Muss ich dafür meinen eigenen Optimierer definieren oder gibt es eine einfachere Möglichkeit?