Ë
    ÌÓ^jÚ  ã                   óT   — d Z ddlmZ  G d„ d«      Z G d„ de«      Z G d„ de«      Zy	)
zÈContains definitions of the methods used by the _BaseDataLoaderIter to fetch data from an iterable-style or map-style dataset.

This logic is shared in both single- and multi-processing data loading.
é    )ÚNoReturnc                   ó    — e Zd Zdd„Zdefd„Zy)Ú_BaseDatasetFetcherÚreturnNc                 ó<   — || _         || _        || _        || _        y ©N)ÚdatasetÚauto_collationÚ
collate_fnÚ	drop_last)Úselfr	   r
   r   r   s        úh/var/www/ramen.bs-engineer-server.com/venv/lib/python3.12/site-packages/torch/utils/data/_utils/fetch.pyÚ__init__z_BaseDatasetFetcher.__init__   s   € ØˆŒØ,ˆÔØ$ˆŒØ"ˆ�ó    c                 ó   — t         ‚r   )ÚNotImplementedError)r   Úpossibly_batched_indexs     r   Úfetchz_BaseDatasetFetcher.fetch   s   € Ü!Ð!r   ©r   N)Ú__name__Ú
__module__Ú__qualname__r   r   r   © r   r   r   r   
   s   „ ó#ð"¨xô "r   r   c                   ó&   ‡ — e Zd Zdˆ fd„Zd„ Zˆ xZS )Ú_IterableDatasetFetcherc                 óX   •— t         ‰| �  ||||«       t        |«      | _        d| _        y )NF)Úsuperr   ÚiterÚdataset_iterÚended)r   r	   r
   r   r   Ú	__class__s        €r   r   z _IterableDatasetFetcher.__init__   s)   ø€ Ü‰Ñ˜ .°*¸iÔHÜ  ›MˆÔØˆ�
r   c                 ó‚  — | j                   rt        ‚| j                  reg }|D ]'  }	 |j                  t	        | j
                  «      «       Œ) t        |«      dk(  s#| j                  r2t        |«      t        |«      k  rt        ‚t	        | j
                  «      }| j                  |«      S # t        $ r d| _         Y  Œpw xY w)NTr   )	r    ÚStopIterationr
   ÚappendÚnextr   Úlenr   r   )r   r   ÚdataÚ_s       r   r   z_IterableDatasetFetcher.fetch   s­   € Ø�:Š:ÜÐà×ÒØˆDØ+ò �ðØ—K‘K¤ T×%6Ñ%6Ó 7Õ8ðô �4‹y˜AŠ~Ø—’¤3 t£9¬sÐ3IÓ/JÒ#Jä#Ð#ä˜×)Ñ)Ó*ˆDØ�‰˜tÓ$Ð$øô %ò Ø!%�D”JÚðús   §$B*Â*B>Â=B>r   )r   r   r   r   r   Ú__classcell__)r!   s   @r   r   r      s   ø„ õö
%r   r   c                   ó   — e Zd Zd„ Zy)Ú_MapDatasetFetcherc                 ó.  — | j                   ret        | j                  d«      r2| j                  j                  r| j                  j                  |«      }n,|D �cg c]  }| j                  |   ‘Œ }}n| j                  |   }| j	                  |«      S c c}w )NÚ__getitems__)r
   Úhasattrr	   r-   r   )r   r   r'   Úidxs       r   r   z_MapDatasetFetcher.fetch1   sz   € Ø×ÒÜ�t—|‘| ^Ô4¸¿¹×9RÒ9RØ—|‘|×0Ñ0Ð1GÓH‘à5KÖL¨c˜Ÿ™ SÓ)ÐL�ÑLà—<‘<Ð 6Ñ7ˆDØ�‰˜tÓ$Ð$ùò Ms   ÁBN)r   r   r   r   r   r   r   r+   r+   0   s   „ ó%r   r+   N)Ú__doc__Útypingr   r   r   r+   r   r   r   ú<module>r2      s3   ðñõ
 ÷"ñ "ô%Ð1ô %ô6	%Ð,õ 	%r   