class_docstr: Class of MNIST model that returns cached predictions.
code: def __call__(self, batch):
      results = []
      for img in batch:
          norm_img = (img - 0.1307) / 0.3081
          hash_key = hash_image(norm_img)
          if hash_key not in self.cache:
              # expand to match batch dimension, and then take 0 to remove the batch dimension
              prediction = self.real_model(
                  np.expand_dims(img, 0)
              ).numpy()
              self.cache[hash_key] = prediction[0]
          results.append(self.cache[hash_key])
      return np.stack(results)
  
file_path: deepchecks/deepchecks/vision/datasets/classification/mnist_tensorflow.py
imports: import logging
  import pathlib
  import pickle
  import typing
  import numpy
  from deepchecks.vision.utils.test_utils import hash_image
  from deepchecks.vision.vision_data import VisionData
label_desc: Use image node_id 2 for calling the MockModel obj's underlying member method code with example usage: obj.__call__(batch) and returns: np