o
    ?e?                     @   sj   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	 ZG d
d dejZdS )z/The implementation of `tf.data.Dataset.window`.    )dataset_ops)nest)	structure)dtypes)ops)gen_dataset_opsc                 C   s    |d u r|}t | |||||dS )N)name)_WindowDataset)input_datasetsizeshiftstridedrop_remainderr    r   e/home/www/facesmatcher.com/pyenv/lib/python3.10/site-packages/tensorflow/python/data/ops/window_op.py_window   s
   r   c                       s0   e Zd ZdZ	d fdd	Zedd Z  ZS )r	   z?A dataset that creates window datasets from the input elements.Nc                    s   || _ tj|tjdd| _tj|tjdd| _tj|tjdd| _tj|tjdd| _	t
t|dd tt
t|t
t|t
t|D | _|| _tj|jf| j| j| j| j	d| j}t || d	S )
z See `window()` for more details.r   )Zdtyper   r   r   r   c              	   S   s&   g | ]\}}}t t|||qS r   )r   ZDatasetSpecr   Zconvert_legacy_structure).0Zoutput_classZoutput_shapeoutput_typer   r   r   
<listcomp>4   s    z+_WindowDataset.__init__.<locals>.<listcomp>)r   r   r   r   N)Z_input_datasetr   Zconvert_to_tensorr   Zint64_sizeZ_shiftZ_strideboolZ_drop_remainderr   Zpack_sequence_asr   Zget_legacy_output_classeszipflattenZget_legacy_output_shapesZget_legacy_output_types
_structure_namer   Zwindow_datasetZ_variant_tensorZ_common_argssuper__init__)selfr
   r   r   r   r   r   Zvariant_tensor	__class__r   r   r   #   sJ   z_WindowDataset.__init__c                 C   s   | j S N)r   )r   r   r   r   element_specJ   s   z_WindowDataset.element_specr    )__name__
__module____qualname____doc__r   propertyr!   __classcell__r   r   r   r   r	       s    'r	   N)r%   Ztensorflow.python.data.opsr   Ztensorflow.python.data.utilr   r   Ztensorflow.python.frameworkr   r   Ztensorflow.python.opsr   r   ZUnaryDatasetr	   r   r   r   r   <module>   s   