code: def test_shape_input(
      data: np.ndarray,
      params: dict,
      expected: Union[float, dict, bool],
      load_mnist_model,
  ):
      load_mnist_model.eval()
      model = PyTorchModel(
          load_mnist_model, channel_first=params["channel_first"]
      )
      if not params["channel_first"]:
          with pytest.raises(expected["exception"]):
              out = model.shape_input(**data)
          return
      out = model.shape_input(**data)
      assert np.array_equal(out, expected), "Test failed."
  
file_path: Quantus/tests/functions/test_pytorch_model.py
imports: from collections import OrderedDict
  from typing import Union
  import numpy
  import pytest
  import torch
  from pytest_lazyfixture import lazy_fixture
  from scipy.special import softmax
  from quantus.helpers.model.pytorch_model import PyTorchModel
label_desc: Use image node_id 4 for calling a global function with example usage: test_shape_input(data, params, expected, load_mnist_model) without return types