class_docstr: A `Dataset` that caches elements of its input.
docstr: See `Dataset.cache()` for details.
code: def __init__(self, input_dataset, filename, name=None):
      """See `Dataset.cache()` for details."""
      self._input_dataset = input_dataset
      self._filename = ops.convert_to_tensor(
          filename, dtype=dtypes.string, name="filename"
      )
      self._name = name
      if tf2.enabled() and (
          context.executing_eagerly() or ops.inside_function()
      ):
          variant_tensor = gen_dataset_ops.cache_dataset_v2(
              input_dataset._variant_tensor,  # pylint: disable=protected-access
              filename=self._filename,
              cache=gen_dataset_ops.dummy_memory_cache(),
              **self._common_args,
          )
      else:
          variant_tensor = gen_dataset_ops.cache_dataset(
              input_dataset._variant_tensor,  # pylint: disable=protected-access
              filename=self._filename,
              **self._common_args,
          )
      super().__init__(input_dataset, variant_tensor)
  
file_path: tensorflow-upstream/tensorflow/python/data/ops/cache_op.py
imports: from tensorflow.python import tf2
  from tensorflow.python.data.ops import dataset_ops
  from tensorflow.python.eager import context
  from tensorflow.python.framework import dtypes
  from tensorflow.python.framework import ops
  from tensorflow.python.ops import gen_dataset_ops
label_desc: Use image node_id 1 to create a new CacheDataset object from inherited base classes: dataset_ops with example: obj = CacheDataset(input_dataset, filename, name)