
    x-j8                     ^    d dl mZ d dlmZ d dlmZmZ d dlmZ g Z	d Z
d Zd Zd Zdd
Zd	S )   )core)global_scope)default_main_programdefault_startup_program)generatec                 H      fdfd}| _         d _        d _         S )Nc                  |    t                      } |                     j                  }|                                S N)r   find_varname
get_reader)scopevarreaders     U/var/www/html/banglarbhumi/venv/lib/python3.11/site-packages/paddle/base/layers/io.py__get_reader__z3monkey_patch_reader_methods.<locals>.__get_reader__   s/    nnV[))~~    c                  <                                                   S r
   )reset)r   s   r   r   z*monkey_patch_reader_methods.<locals>.reset   s    ~%%'''r   T)r   stop_gradientpersistable)r   r   r   s   ` @r   monkey_patch_reader_methodsr      sT             
( ( ( ( ( FLFFMr   c                    |                      |j        t          j        j        j                  }|j                            |j                                                   |j        	                    |j        
                                           |j                            |j                                                   d|_        |S )N)r   typeT)
create_varr   r   VarDescVarTypeREADERdesc
set_shapesshapes
set_dtypesdtypesset_lod_levels
lod_levelsr   )blockr   new_vars      r   _copy_reader_var_r(   &   s    CH4<3G3NOOGLCHOO--...LCHOO--...L 3 3 5 5666GNr   c                    |j         }i }|D ]O}g ||<   |                    |          }|D ]0}||                             |                     |                     1P|j        }i }|D ]O}g ||<   |                    |          }|D ]0}||                             |                     |                     1P|                     |j        |||                                          }	|	S )Nr   inputsoutputsattrs)	input_namesinputappendr   output_namesoutput	append_opr   	all_attrs)
r&   opinput_param_namesnew_input_map
param_name	arg_namesarg_nameoutput_param_namesnew_output_mapnew_ops
             r   _copy_reader_create_op_r>   /   s+   M' B B
$&j!HHZ((	! 	B 	BH*%,,UYYx-@-@AAAA	B N( C C
%'z"IIj))	! 	C 	CH:&--eii.A.ABBBB	C __Wllnn	   F Mr   c                 t   t          |           }t                                                      }|                    |          }|                    | d|id|gi|          }d|_        t                                                      }t          ||          }t          ||           t          |          S )Nr   UnderlyingReaderOutr*   T)
unique_namer   current_blockr   r3   r   r   r(   r>   r   )	op_typer   r-   var_namestartup_blkstartup_var
startup_opmain_prog_blockmain_prog_vars	            r   "__create_shared_decorated_reader__rL   I   s    7##H)++99;;K((h(77K&&"F+&	 '  J #K*,,::<<O%o{CCMOZ888&}555r   Nc                     ||nt          |           }t                                                      }|                    |          }|                    | d|id|gi|           t          |          S )Nr@   rA   rB   r*   )rC   r   rD   r   r3   r   )rE   r   r-   r   new_reader_namemain_blk
new_readers          r   $__create_unshared_decorated_reader__rQ   Z   s    ".ddK4H4HO#%%3355H$$/$::J"F+%	     'z222r   r
   ) r   executorr   	frameworkr   r   rC   r   __all__r   r(   r>   rL   rQ    r   r   <module>rW      s          # # # # # # E E E E E E E E 1 1 1 1 1 1
      46 6 6"
3 
3 
3 
3 
3 
3r   