
    BVhS                         d Z ddlmZ ddlmZ ddlmZ ddlmZ ddlm	Z	 ddl
mZ d Z G d	 d
ej                        Zy)z.The implementation of `tf.data.Dataset.cache`.    )tf2)dataset_ops)context)dtypes)ops)gen_dataset_opsc                     t        | ||      S N)CacheDataset)input_datasetfilenamenames      S/home/dcms/DCMS/lib/python3.12/site-packages/tensorflow/python/data/ops/cache_op.py_cacher      s    	mXt	44    c                   $     e Zd ZdZd fd	Z xZS )r   z.A `Dataset` that caches elements of its input.c                    || _         t        j                  |t        j                  d      | _        || _        t        j                         rrt        j                         st        j                         rJt        j                  |j                  f| j
                  t        j                         d| j                   }n6t        j"                  |j                  fd| j
                  i| j                   }t$        | M  ||       y)z"See `Dataset.cache()` for details.r   )dtyper   )r   cacheN)_input_datasetr   convert_to_tensorr   string	_filename_namer   enabledr   executing_eagerlyinside_functionr   cache_dataset_v2_variant_tensordummy_memory_cache_common_argscache_datasetsuper__init__)selfr   r   r   variant_tensor	__class__s        r   r$   zCacheDataset.__init__    s    'D**J8DNDJ
{{}'3359L9L9N&77

'
'>>224 	n '44

'
'>> n 
G]N3r   r
   )__name__
__module____qualname____doc__r$   __classcell__)r'   s   @r   r   r      s    64 4r   r   N)r+   tensorflow.pythonr   tensorflow.python.data.opsr   tensorflow.python.eagerr   tensorflow.python.frameworkr   r   tensorflow.python.opsr   r   UnaryUnchangedStructureDatasetr    r   r   <module>r4      s3    5 ! 2 + . + 154;== 4r   