def _assertBackwardOpMatchesExpected(self, input_np, warp_np,
                                         grad_output_np, expected_grad_data,
                                         expected_grad_warp):
        with self.session() as sess, self.test_scope():
            input_image = array_ops.placeholder(input_np.dtype)
            warp = array_ops.placeholder(warp_np.dtype)
            grad_output = array_ops.placeholder(grad_output_np.dtype)

            grad_data, grad_warp = gen_resampler_ops.resampler_grad(
                input_image, warp, grad_output)

            grad_data_tf, grad_warp_tf = sess.run([grad_data, grad_warp], {
                input_image: input_np,
                warp: warp_np,
                grad_output: grad_output_np
            })

            self.assertAllCloseAccordingToType(expected_grad_warp,
                                               grad_warp_tf,
                                               half_rtol=1e-2,
                                               bfloat16_rtol=3e-2)
            self.assertAllCloseAccordingToType(expected_grad_data,
                                               grad_data_tf,
                                               half_rtol=1e-2,
                                               bfloat16_rtol=3e-2)
  def _assertBackwardOpMatchesExpected(self, input_np, warp_np, grad_output_np,
                                       expected_grad_data, expected_grad_warp):
    with self.cached_session() as sess, self.test_scope():
      input_image = array_ops.placeholder(input_np.dtype)
      warp = array_ops.placeholder(warp_np.dtype)
      grad_output = array_ops.placeholder(grad_output_np.dtype)

      grad_data, grad_warp = gen_resampler_ops.resampler_grad(
          input_image, warp, grad_output)

      grad_data_tf, grad_warp_tf = sess.run([grad_data, grad_warp], {
          input_image: input_np,
          warp: warp_np,
          grad_output: grad_output_np
      })

      self.assertAllCloseAccordingToType(
          expected_grad_warp, grad_warp_tf, half_rtol=1e-2, bfloat16_rtol=3e-2)
      self.assertAllCloseAccordingToType(
          expected_grad_data, grad_data_tf, half_rtol=1e-2, bfloat16_rtol=3e-2)
예제 #3
0
def _resampler_grad(op, grad_output):
  data, warp = op.inputs
  grad_output_tensor = ops.convert_to_tensor(grad_output, name="grad_output")
  return gen_resampler_ops.resampler_grad(data, warp, grad_output_tensor)
예제 #4
0
def _resampler_grad(op, grad_output):
    data, warp = op.inputs
    grad_output_tensor = ops.convert_to_tensor(grad_output, name="grad_output")
    return gen_resampler_ops.resampler_grad(data, warp, grad_output_tensor)