code: def __call__(self, input):
      channels = input.shape[2]
      short_size = input.shape[3]
      input = paddle.reshape(
          x=input, shape=[-1, channels, short_size, short_size]
      )
  
      conv = self.conv_bn_layer(
          input=input,
          num_filters=64,
          filter_size=7,
          stride=2,
          act="relu",
          name="conv1",
      )
      conv = paddle.nn.functional.max_pool2d(
          x=conv, kernel_size=3, stride=2, padding=1
      )
  
      for block in range(len(self.layers)):
          for i in range(self.layers[block]):
              conv_name = "res" + str(block + 2) + chr(97 + i)
  
              conv = self.bottleneck_block(
                  input=conv,
                  num_filters=self.num_filters[block],
                  stride=2 if i == 0 and block != 0 else 1,
                  name=conv_name,
              )
  
      pool = paddle.nn.functional.avg_pool2d(x=conv, kernel_size=7)
  
      dropout = paddle.nn.functional.dropout(
          x=pool, p=0.5, training=(not self.training)
      )
  
      feature = paddle.reshape(
          x=dropout, shape=[-1, self.num_segs, pool.shape[1]]
      )
      out = paddle.mean(x=feature, axis=1)
  
      stdv = 1.0 / math.sqrt(pool.shape[1] * 1.0)
      out = static.nn.fc(
          x=out,
          size=self.num_classes,
          activation="softmax",
          weight_attr=paddle.ParamAttr(
              initializer=paddle.nn.initializer.Uniform(
                  low=-stdv, high=stdv
              )
          ),
          bias_attr=paddle.ParamAttr(
              learning_rate=2.0,
              regularizer=paddle.regularizer.L2Decay(0.0),
          ),
      )
      return out
  
file_path: DALI/docs/examples/use_cases/paddle/tsm/tsm.py
imports: import math
  import paddle
  from paddle import static
label_desc: Use image node_id 6 for calling the TSM obj's underlying member method code with example usage: obj.__call__(input) and returns: out