o
    ?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   f/home/www/facesmatcher.com/pyenv/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   )Zdtyper	   NT)r   r   seed2Zseed_generatorr   )r   r   r   r   )Z_input_datasetr   Zconvert_to_tensorr   Zint64Z_buffer_sizer   Zget_seedZ_seedZ_seed2Z_reshuffle_each_iteration_namer   enabledr   Zexecuting_eagerlyZinside_functionr   Zshuffle_dataset_v3Z_variant_tensorZdummy_seed_generatorZ_common_argsZshuffle_datasetsuper__init__)selfr   r   r   r   r	   Z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   )r   Ztensorflow.pythonr   Ztensorflow.python.data.opsr   Ztensorflow.python.data.utilr   Ztensorflow.python.eagerr   Ztensorflow.python.frameworkr   r   Ztensorflow.python.opsr   r   ZUnaryUnchangedStructureDatasetr
   r   r   r   r   <module>   s   

