Ejemplo n.º 1
0
  def testClipByAverageNormNotClipped(self):
    # No norm clipping when average clip_norm >= 0.83333333
    with self.test_session(use_gpu=True):
      x = constant_op.constant([-3.0, 0.0, 0.0, 4.0, 0.0, 0.0], shape=[2, 3])
      # Average norm of x = sqrt(3^2 + 4^2) / 6 = 0.83333333
      np_ans = [[-3.0, 0.0, 0.0], [4.0, 0.0, 0.0]]
      clip_norm = 0.9
      ans = clip_ops.clip_by_average_norm(x, clip_norm)
      tf_ans = ans.eval()

    self.assertAllClose(np_ans, tf_ans)
Ejemplo n.º 2
0
  def testClipByAverageNormZero(self):
    # No norm clipping when average clip_norm = 0
    with self.test_session(use_gpu=True):
      x = constant_op.constant([0.0, 0.0, 0.0, 0.0, 0.0, 0.0], shape=[2, 3])
      # Average norm = 0, no changes
      np_ans = [[0.0, 0.0, 0.0], [0.0, 0.0, 0.0]]
      clip_norm = 0.9
      ans = clip_ops.clip_by_average_norm(x, clip_norm)
      tf_ans = ans.eval()

    self.assertAllClose(np_ans, tf_ans)
  def testClipByAverageNormClippedTensor(self):
    # Norm clipping when average clip_norm < 0.83333333
    with self.test_session(use_gpu=True):
      x = constant_op.constant([-3.0, 0.0, 0.0, 4.0, 0.0, 0.0], shape=[2, 3])
      # Average norm of x = sqrt(3^2 + 4^2) / 6 = 0.83333333
      np_ans = [[-2.88, 0.0, 0.0], [3.84, 0.0, 0.0]]
      clip_norm = constant_op.constant(0.8)
      ans = clip_ops.clip_by_average_norm(x, clip_norm)
      tf_ans = ans.eval()

    self.assertAllClose(np_ans, tf_ans)
Ejemplo n.º 4
0
  def testClipByAverageNormClippedTensor(self):
    # Norm clipping when average clip_norm < 0.83333333
    with self.session(use_gpu=True):
      x = constant_op.constant([-3.0, 0.0, 0.0, 4.0, 0.0, 0.0], shape=[2, 3])
      # Average norm of x = sqrt(3^2 + 4^2) / 6 = 0.83333333
      np_ans = [[-2.88, 0.0, 0.0], [3.84, 0.0, 0.0]]
      clip_norm = constant_op.constant(0.8)
      ans = clip_ops.clip_by_average_norm(x, clip_norm)
      tf_ans = self.evaluate(ans)

    self.assertAllClose(np_ans, tf_ans)
  def testClipByAverageNormZero(self):
    # No norm clipping when average clip_norm = 0
    with self.session():
      x = constant_op.constant([0.0, 0.0, 0.0, 0.0, 0.0, 0.0], shape=[2, 3])
      # Average norm = 0, no changes
      np_ans = [[0.0, 0.0, 0.0], [0.0, 0.0, 0.0]]
      clip_norm = 0.9
      ans = clip_ops.clip_by_average_norm(x, clip_norm)
      tf_ans = self.evaluate(ans)

    self.assertAllClose(np_ans, tf_ans)
  def testClipByAverageNormNotClipped(self):
    # No norm clipping when average clip_norm >= 0.83333333
    with self.session():
      x = constant_op.constant([-3.0, 0.0, 0.0, 4.0, 0.0, 0.0], shape=[2, 3])
      # Average norm of x = sqrt(3^2 + 4^2) / 6 = 0.83333333
      np_ans = [[-3.0, 0.0, 0.0], [4.0, 0.0, 0.0]]
      clip_norm = 0.9
      ans = clip_ops.clip_by_average_norm(x, clip_norm)
      tf_ans = self.evaluate(ans)

    self.assertAllClose(np_ans, tf_ans)
Ejemplo n.º 7
0
 def testClipByAverageNormReplacedWithClipByNorm(self):
   # Check clip_by_average_norm(t) is the same as
   # clip_by_norm(t, clip_norm * tf.compat.v1.to_float(tf.size(t)))
   with self.session(use_gpu=True):
     x = constant_op.constant([-3.0, 0.0, 0.0, 4.0, 0.0, 0.0], shape=[2, 3])
     # Average norm of x = sqrt(3^2 + 4^2) / 6 = 0.83333333
     # expected answer [[-2.88, 0.0, 0.0], [3.84, 0.0, 0.0]]
     clip_norm = constant_op.constant(0.8)
     with_norm = clip_ops.clip_by_average_norm(x, clip_norm)
     without_norm = clip_ops.clip_by_norm(
         x, clip_norm * math_ops.cast(array_ops.size(x), dtypes.float32))
     clip_by_average_norm_ans = self.evaluate(with_norm)
     clip_by_norm_ans = self.evaluate(without_norm)
     self.assertAllClose(clip_by_average_norm_ans, clip_by_norm_ans)
Ejemplo n.º 8
0
 def testClipByAverageNormReplacedWithClipByNorm(self):
   # Check clip_by_average_norm(t) is the same as
   # clip_by_norm(t, clip_norm * tf.to_float(tf.size(t)))
   with self.session(use_gpu=True):
     x = constant_op.constant([-3.0, 0.0, 0.0, 4.0, 0.0, 0.0], shape=[2, 3])
     # Average norm of x = sqrt(3^2 + 4^2) / 6 = 0.83333333
     # expected answer [[-2.88, 0.0, 0.0], [3.84, 0.0, 0.0]]
     clip_norm = constant_op.constant(0.8)
     with_norm = clip_ops.clip_by_average_norm(x, clip_norm)
     without_norm = clip_ops.clip_by_norm(
         x, clip_norm * math_ops.to_float(array_ops.size(x)))
     clip_by_average_norm_ans = self.evaluate(with_norm)
     clip_by_norm_ans = self.evaluate(without_norm)
     self.assertAllClose(clip_by_average_norm_ans, clip_by_norm_ans)