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?