在计算梯度之后,但在应用梯度更新模型参数之前,需要进行梯度修剪。在您的示例中,这两种
AdamOptimizer.minimize()方法均由该方法处理。
为了裁剪您的渐变,您需要按照TensorFlow
API文档中本节的说明显式计算,裁剪和应用它们。具体来说,您需要
minimize()使用类似以下内容的方法来代替对方法的调用:
optimizer = tf.train.AdamOptimizer(learning_rate=learning_rate)gvs = optimizer.compute_gradients(cost)capped_gvs = [(tf.clip_by_value(grad, -1., 1.), var) for grad, var in gvs]train_op = optimizer.apply_gradients(capped_gvs)



