code: def __init__(
      self,
      model: Callable,
      bounds: BoundsInput,
      data_format: Optional[str] = None,
  ):
      self._model = model
      self._bounds = Bounds(*bounds)
      if data_format is not None:
          if data_format not in ["channels_first", "channels_last"]:
              raise ValueError(
                  f"expected data_format to be 'channels_first' or 'channels_last', got {data_format}"
              )
      self._data_format = data_format
  
file_path: foolbox/foolbox/models/numpy.py
imports: from typing import TypeVar, Callable, Optional
  import eagerpy
  from ..types import Bounds
  from ..types import BoundsInput
  from .base import Model
label_desc: Use image node_id 1 to create a new NumPyModel object from inherited base classes: Model with example: obj = NumPyModel(model, bounds, data_format)