o
    ?e	                     @   sF   d 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 )
z4The implementation of `tf.data.Dataset.concatenate`.    )dataset_ops)gen_dataset_ops)nestc                 C   s   t | ||S N)_ConcatenateDataset)input_datasetdataset_to_concatenatename r
   j/home/www/facesmatcher.com/pyenv/lib/python3.10/site-packages/tensorflow/python/data/ops/concatenate_op.py_concatenate   s   r   c                       s6   e Zd ZdZd	 fdd	Zdd Zedd Z  ZS )
r   z;A `Dataset` that concatenates its input with given dataset.Nc              
      s   || _ || _dd }zt||j|j| _W n ttfy1 } ztd|j d|j |d}~ww ||g| _|| _	t
j|j|jfi | j}t | dS )z(See `Dataset.concatenate()` for details.c                 S   s.   |  |g}|d u rtd|  d| d|S )NzNo common supertype of z and .)Zmost_specific_common_supertype	TypeError)abresultr
   r
   r   common_supertype"   s   z6_ConcatenateDataset.__init__.<locals>.common_supertypez!Incompatible dataset elements:
  z vs.   N)Z_input_datasetZ_dataset_to_concatenatetf_nestZmap_structureelement_spec
_structurer   
ValueError_input_datasets_namer   Zconcatenate_datasetZ_variant_tensorZ_common_argssuper__init__)selfr   r   r	   r   eZvariant_tensor	__class__r
   r   r      s4   

z_ConcatenateDataset.__init__c                 C      | j S r   )r   r   r
   r
   r   _inputs:   s   z_ConcatenateDataset._inputsc                 C   r   r   )r   r    r
   r
   r   r   =   s   z _ConcatenateDataset.element_specr   )	__name__
__module____qualname____doc__r   r!   propertyr   __classcell__r
   r
   r   r   r      s    r   N)r%   Ztensorflow.python.data.opsr   Ztensorflow.python.opsr   Ztensorflow.python.utilr   r   r   Z	DatasetV2r   r
   r
   r
   r   <module>   s   