
    BVh
                         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dlmZ 	 	 	 dd
Z G d dej                        Zy	)z0The implementation of `tf.data.Dataset.shuffle`.    )tf2)dataset_ops)random_seed)context)dtypes)ops)gen_dataset_opsNc                 "    t        | ||||      S )N)name)_ShuffleDataset)input_datasetbuffer_sizeseedreshuffle_each_iterationr   s        U/home/dcms/DCMS/lib/python3.12/site-packages/tensorflow/python/data/ops/shuffle_op.py_shuffler      s     
[$(@t
M M    c                   *     e Zd ZdZ	 	 	 d fd	Z xZS )r   z=A `Dataset` that randomly shuffles the elements of its input.c           	         || _         t        j                  |t        j                  d      | _        t        j                  |      \  | _        | _	        || _
        || _        t        j                         rt        j                         st        j                          rkt#        j$                  |j&                  f| j
                  | j                  | j                  t#        j(                         | j                  d| j*                  }nWt#        j,                  |j&                  f| j
                  | j                  | j                  | j                  d| j*                  }t.        | a  ||       y)z$See `Dataset.shuffle()` for details.r   )dtyper   )r   r   seed2seed_generatorr   )r   r   r   r   N)_input_datasetr   convert_to_tensorr   int64_buffer_sizer   get_seed_seed_seed2_reshuffle_each_iteration_namer   enabledr   executing_eagerlyinside_functionr	   shuffle_dataset_v3_variant_tensordummy_seed_generator_common_argsshuffle_datasetsuper__init__)selfr   r   r   r   r   variant_tensor	__class__s          r   r+   z_ShuffleDataset.__init__'   s.    (D--6<<m=D)2248DJ%=D"DJ		"	"	$(;(;(=&99

'
'''zz(==?#'#A#A n '66

'
'''zz#'#A#A n 
G]N3r   NTN)__name__
__module____qualname____doc__r+   __classcell__)r.   s   @r   r   r   $   s    E #"4 "4r   r   r/   )r3   tensorflow.pythonr   tensorflow.python.data.opsr   tensorflow.python.data.utilr   tensorflow.python.eagerr   tensorflow.python.frameworkr   r   tensorflow.python.opsr	   r   UnaryUnchangedStructureDatasetr    r   r   <module>r=      sB    7 ! 2 3 + . + 1 
!	M%4k@@ %4r   