o
    * i                     @   s2   G d d dZ G dd de ZG dd de ZdS )c                   @   s   e Zd Zdd ZdddZdS )_DatasetFetcherc                 C   s   || _ || _|| _|| _d S N)datasetauto_collate_batch
collate_fn	drop_lastselfr   r   r   r    r	   h/home/app/PaddleOCR-VL-test/.venv_paddleocr/lib/python3.10/site-packages/paddle/io/dataloader/fetcher.py__init__   s   
z_DatasetFetcher.__init__Nc                 C   s   t d| jj )Nz 'fetch' not implement for class )NotImplementedError	__class____name__)r   batch_indices
done_eventr	   r	   r
   fetch    s   z_DatasetFetcher.fetchr   )r   
__module____qualname__r   r   r	   r	   r	   r
   r      s    r   c                       &   e Zd Z fddZdddZ  ZS )_IterableDatasetFetcherc                    s    t  |||| t|| _d S r   )superr   iterdataset_iterr   r   r	   r
   r   '   s   z _IterableDatasetFetcher.__init__Nc              	   C   s   | j r=g }|D ]!}|d u s| s&z
|t| j W q ty%   Y  nw  d S t|dks:| jr<t|t|k r<tnt| j}| jrJ| |}|S )N    )	r   is_setappendnextr   StopIterationlenr   r   )r   r   r   data_r	   r	   r
   r   +   s(   

z_IterableDatasetFetcher.fetchr   r   r   r   r   r   __classcell__r	   r	   r   r
   r   &   s    r   c                       r   )_MapDatasetFetcherc                    s   t  |||| d S r   )r   r   r   r   r	   r
   r   E   s   z_MapDatasetFetcher.__init__Nc                 C   sZ   | j rg }|D ]}|d u s| s|| j|  q d S n| j| }| jr+| |}|S r   )r   r   r   r   r   )r   r   r   r    idxr	   r	   r
   r   H   s   

z_MapDatasetFetcher.fetchr   r"   r	   r	   r   r
   r$   D   s    r$   N)r   r   r$   r	   r	   r	   r
   <module>   s   