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?

Antworten auf die Frage(12)

Ihre Antwort auf die Frage