
    BVh	                     ^    d Z ddlmZ ddlmZ ddlmZ d	dZ G d dej                        Zy)
z1The implementation of `tf.data.Dataset.flat_map`.    )dataset_ops)structured_function)gen_dataset_opsNc                     t        | ||      S )z%See `Dataset.flat_map()` for details.)_FlatMapDataset)input_datasetmap_funcnames      V/home/dcms/DCMS/lib/python3.12/site-packages/tensorflow/python/data/ops/flat_map_op.py	_flat_mapr      s    	$	77    c                   @     e Zd ZdZd fd	Zd Zed        Zd Z xZ	S )r   zHA `Dataset` that maps a function over its input and flattens the result.c                 h   || _         t        j                  || j                         |      | _        t        | j                  j                  t        j                        s6t        dt        j                  | j                  j                        d      | j                  j                  j                  | _        || _        t        j                  |j                   | j                  j"                  j$                  fd| j                  j"                  i| j&                  }t(        | U  ||       y )N)datasetz<The `map_func` argument must return a `Dataset` object. Got .f)_input_datasetr   StructuredFunctionWrapper_transformation_name	_map_func
isinstanceoutput_structurer   DatasetSpec	TypeErrorget_type_element_spec
_structure_namer   flat_map_dataset_variant_tensorfunctioncaptured_inputs_common_argssuper__init__)selfr   r	   r
   variant_tensor	__class__s        r   r%   z_FlatMapDataset.__init__   s    'D(BB$++-}FDNdnn55{7N7NO
H!!$.."A"ABEQHI I nn55CCDODJ$55%%// ..
!
! 

	N
 
G]N3r   c                     | j                   gS N)r   r&   s    r   
_functionsz_FlatMapDataset._functions1   s    NNr   c                     | j                   S r*   )r   r+   s    r   element_specz_FlatMapDataset.element_spec4   s    ??r   c                      y)NzDataset.flat_map() r+   s    r   r   z$_FlatMapDataset._transformation_name8   s    r   r*   )
__name__
__module____qualname____doc__r%   r,   propertyr.   r   __classcell__)r(   s   @r   r   r      s)    P4&   r   r   r*   )	r4   tensorflow.python.data.opsr   r   tensorflow.python.opsr   r   UnaryDatasetr   r0   r   r   <module>r:      s*    8 2 : 18
 k..  r   