Учитывая пример кода .
Я хотел бы знать, как применить градиентное отсечение в этой сети в RNN, где есть возможность взрывных градиентов.
tf.clip_by_value(t, clip_value_min, clip_value_max, name=None)
Это пример, который можно использовать, но где мне его представить? В деф РНН
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)
Но это не имеет смысла, поскольку тензор _X является входом, а не градиентом, который нужно обрезать?
Нужно ли мне определять для этого свой собственный оптимизатор или есть более простой вариант?
optimizer = tf.train.AdamOptimizer(learning_rate=learning_rate).minimize(cost)
затем выполняется итерация оптимизатора,optimizer.run()
но использованиеoptimizer.run()
в этом случае не работает?