class_docstr: Cache for model outputs.
code: def put(self, data, key: CacheKey):
      if key is not None:
          self._d[key] = data
  
imports: from collections.abc import Callable, Iterable
  import os
  import pickle
  import threading
  from typing import Any, Optional, Union
  from absl import logging
  from lit_nlp.api import dataset
  from lit_nlp.api import model
  from lit_nlp.api import types
  from lit_nlp.lib import serialize
label_desc: Use image node_id 3 for calling the PredsCache obj's underlying member method code with example usage: obj.put(data, key) without return types