You can check if your NaN gradients have tf.check_numerics :
grad_check = tf.check_numerics(clipped_gradients) with tf.control_dependencies([grad_check]): self.optimizer = opt.apply_gradients(zip(clipped_gradients, params))
grad_check will throw an InvalidArgument if clipped_gradients is NaN or infinity.
tf.control_dependencies verifies that grad_check is evaluated before applying gradients.
Also see tf.add_check_numerics_ops() .
source share