o
    i ey                     @   s~   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
dZG dd dejZd	S )z0The implementation of `tf.data.Dataset.shuffle`.    )tf2)dataset_ops)random_seed)context)dtypes)ops)gen_dataset_opsNc                 C   s   t | ||||dS )N)name)_ShuffleDataset)input_datasetbuffer_sizeseedreshuffle_each_iterationr	    r   T/var/www/myenv/lib/python3.10/site-packages/tensorflow/python/data/ops/shuffle_op.py_shuffle   s   
r   c                       s(   e Zd ZdZ			d fdd	Z  ZS )r
   z=A `Dataset` that randomly shuffles the elements of its input.Nc                    s   || _ tj|tjdd| _t|\| _| _	|du rd}|| _
|| _t rFt s.t rFtj|jf| j| j| j	t | j
d| j}ntj|jf| j| j| j	| j
d| j}t || dS )z$See `Dataset.shuffle()` for details.r   )dtyper	   NT)r   r   seed2seed_generatorr   )r   r   r   r   )_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__r   r   r'   &   sH   	z_ShuffleDataset.__init__NNN)__name__
__module____qualname____doc__r'   __classcell__r   r   r*   r   r
   #   s    r
   r,   )r0   tensorflow.pythonr   tensorflow.python.data.opsr   tensorflow.python.data.utilr   tensorflow.python.eagerr   tensorflow.python.frameworkr   r   tensorflow.python.opsr   r   UnaryUnchangedStructureDatasetr
   r   r   r   r   <module>   s   

