o
    i 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   S/var/www/myenv/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   )dtyper   r   r   r   c              	   S   s&   g | ]\}}}t t|||qS r   )r   DatasetSpecr   convert_legacy_structure).0output_classoutput_shapeoutput_typer   r   r   
<listcomp>4   s    z+_WindowDataset.__init__.<locals>.<listcomp>)r   r   r   r   N)_input_datasetr   convert_to_tensorr   int64_size_shift_stridebool_drop_remainderr   pack_sequence_asr   get_legacy_output_classeszipflattenget_legacy_output_shapesget_legacy_output_types
_structure_namer   window_dataset_variant_tensor_common_argssuper__init__)selfr
   r   r   r   r   r   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_specr3   )__name__
__module____qualname____doc__r.   propertyr4   __classcell__r   r   r1   r   r	       s    'r	   N)r8   tensorflow.python.data.opsr   tensorflow.python.data.utilr   r   tensorflow.python.frameworkr   r   tensorflow.python.opsr   r   UnaryDatasetr	   r   r   r   r   <module>   s   