code: def test_shape(self, input_param, input_shape, expected_shape):
      device = "cuda" if torch.cuda.is_available() else "cpu"
  
      with skip_if_downloading_fails():
          net = EfficientNetBN(**input_param).to(device)
  
      # run inference with random tensor
      with eval_mode(net):
          result = net(torch.randn(input_shape).to(device))
  
      # check output shape
      self.assertEqual(result.shape, expected_shape)
  
imports: from __future__ import annotations
  import os
  import unittest
  from typing import TYPE_CHECKING
  from unittest import skipUnless
  import torch
  from parameterized import parameterized
  from monai.networks import eval_mode
  from monai.networks.nets import BlockArgs, EfficientNetBN, EfficientNetBNFeatures, drop_connect, get_efficientnet_image_size
  from monai.utils import optional_import
  from tests.utils import skip_if_downloading_fails, skip_if_quick, test_pretrained_networks, test_script_save
label_desc: Use image node_id 1 for calling the TestEFFICIENTNET obj's underlying member method code with example usage: obj.test_shape(input_param, input_shape, expected_shape) without return types