code: def test_resnet_shape(
      self, model, input_param, input_shape, expected_shape
  ):
      net = model(**input_param).to(device)
      with eval_mode(net):
          result = net.forward(torch.randn(input_shape).to(device))
          if input_param.get("feed_forward", True):
              self.assertEqual(result.shape, expected_shape)
          else:
              self.assertTrue(result.shape in expected_shape)
  
imports: from __future__ import annotations
  import copy
  import os
  import re
  import sys
  import unittest
  from typing import TYPE_CHECKING
  import torch
  from parameterized import parameterized
  from monai.networks import eval_mode
  from monai.networks.nets import ResNet, get_medicalnet_pretrained_resnet_args, get_pretrained_resnet_medicalnet, resnet10, resnet18, resnet34, resnet50, resnet101, resnet152, resnet200
  from monai.networks.nets.resnet import ResNetBlock
  from monai.utils import optional_import
  from tests.utils import equal_state_dict, skip_if_downloading_fails, skip_if_no_cuda, skip_if_quick, test_script_save
label_desc: Use image node_id 3 for calling the TestResNet obj's underlying member method code with example usage: obj.test_resnet_shape(model, input_param, input_shape, expected_shape) without return types