code: def test_var_model(self):
      input = Input(shape=[2, 3, 16, 16])
  
      vgg_mock = Sequential()
      vgg_mock.add(
          Conv2D(2, 4, 4, input_shape=[3, 16, 16])
      )  # output: 2, 13, 13
      vgg_mock.add(Reshape([2 * 13 * 13]))
      vgg_mock.add(Dense(100))
      vgg_mock.add(Reshape([100, 1, 1]))
  
      time = TimeDistributed(layer=vgg_mock)(input)
      t1 = time.index_select(1, 0)
      t2 = time.index_select(1, 1)
      diff = t1 - t2
      model = Model(input, diff)
      data = np.random.uniform(0, 1, [10, 2, 3, 16, 16])
      output = model.forward(data)
      print(output.shape)
  
file_path: analytics-zoo/pyzoo/test/zoo/pipeline/autograd/test_model.py
imports: from test.zoo.pipeline.utils.test_utils import ZooTestCase
  from zoo.pipeline.api.keras.layers import *
  from zoo.pipeline.api.keras.models import *
  import zoo.pipeline.api.autograd
label_desc: Use image node_id 2 for calling the TestAutoGradModel obj's underlying member method code with example usage: obj.test_var_model() without return types