Esempio n. 1
0
  def testNumSteps(self):
    values = [[0, 1, 2, 3],
              [1, 2, 3, 4],
              [2, 3, 4, 5]]
    tensor = tf.constant(values, dtype=tf.float32)

    result_step0 = common.shift_values(tensor, 1.0, 0)
    result_step1 = common.shift_values(tensor, 1.0, 1)
    result_step3 = common.shift_values(tensor, 1.0, 3)
    result_step20 = common.shift_values(tensor, 1.0, 20)

    values = np.array(values)
    expected_result_step0 = values
    expected_result_step1 = np.pad(values[:, 1:], ((0, 0), (0, 1)), 'constant')
    expected_result_step3 = np.pad(values[:, 3:], ((0, 0), (0, 3)), 'constant')
    expected_result_step20 = np.zeros_like(values)

    self.assertAllClose(expected_result_step0, self.evaluate(result_step0))
    self.assertAllClose(expected_result_step1, self.evaluate(result_step1))
    self.assertAllClose(expected_result_step3, self.evaluate(result_step3))
    self.assertAllClose(expected_result_step20, self.evaluate(result_step20))
Esempio n. 2
0
  def testGamma(self):
    values = [[0, 1, 2, 3],
              [1, 2, 3, 4],
              [2, 3, 4, 5]]
    tensor = tf.constant(values, dtype=tf.float32)

    result_gamma0 = common.shift_values(tensor, 0.0, 3)
    result_gamma09 = common.shift_values(tensor, 0.9, 3)
    result_gamma1 = common.shift_values(tensor, 1.0, 3)
    result_gamma2 = common.shift_values(tensor, 2.0, 3)

    values = np.array(values)
    values_shift3 = np.pad(values[:, 3:], ((0, 0), (0, 3)), 'constant')
    expected_result_gamma0 = np.zeros_like(values)
    expected_result_gamma09 = 0.9 ** 3 * values_shift3
    expected_result_gamma1 = values_shift3
    expected_result_gamma2 = 2 ** 3 * values_shift3

    self.assertAllClose(expected_result_gamma0, self.evaluate(result_gamma0))
    self.assertAllClose(expected_result_gamma09, self.evaluate(result_gamma09))
    self.assertAllClose(expected_result_gamma1, self.evaluate(result_gamma1))
    self.assertAllClose(expected_result_gamma2, self.evaluate(result_gamma2))