code: def _testGradientVariableSizeTape(self):
      with backprop.GradientTape() as tape:
          inp = constant_op.constant([1.0, 2.0, 3.0], name="in")
          tape.watch(inp)
          out = array_ops.slice(inp, [1], [-1])
      grad_actual = self.evaluate(tape.gradient(out, inp))
      self.assertAllClose([0.0, 1.0, 1.0], grad_actual)
  
imports: import numpy
  from tensorflow.python.eager import backprop
  from tensorflow.python.eager import def_function
  from tensorflow.python.framework import constant_op
  from tensorflow.python.framework import dtypes
  from tensorflow.python.framework import errors_impl
  from tensorflow.python.framework import ops
  from tensorflow.python.framework import test_util
  from tensorflow.python.ops import array_ops
  from tensorflow.python.ops import gradients_impl
  from tensorflow.python.ops import math_ops
  from tensorflow.python.ops import nn_ops
  from tensorflow.python.platform import test
label_desc: Use image node_id 20 for calling the SliceTest obj's underlying member method code with example usage: obj._testGradientVariableSizeTape() without return types