code: def numpy_simple_model(request: Any) -> ModelAndData:
      class Model:
          def __call__(self, inputs: Any) -> Any:
              return inputs.mean(axis=(2, 3))
  
      model = Model()
      with pytest.raises(ValueError):
          fbn.NumPyModel(model, bounds=(0, 1), data_format="foo")
  
      fmodel = fbn.NumPyModel(model, bounds=(0, 1))
      with pytest.raises(ValueError, match="data_format"):
          x, _ = fbn.samples(fmodel, dataset="imagenet", batchsize=8)
  
      fmodel = fbn.NumPyModel(
          model, bounds=(0, 1), data_format="channels_first"
      )
      with pytest.warns(UserWarning, match="returning NumPy arrays"):
          x, _ = fbn.samples(fmodel, dataset="imagenet", batchsize=8)
  
      x = ep.astensor(x)
      y = fmodel(x).argmax(axis=-1)
      return fmodel, x, y
  
imports: from typing import Optional, Callable, Tuple, Dict, Any, List, NamedTuple
  import functools
  import pytest
  import eagerpy
  import foolbox
  import foolbox
label_desc: Use image node_id 22 for calling a global function with example usage: numpy_simple_model(request) and returns: fmodel,  x,  y, inputs