
    sh                     H    S r  " S S5      r " S S\5      r " S S\5      rg)zContains 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.
c                        \ rS rSrS rS rSrg)_BaseDatasetFetcher   c                 4    Xl         X l        X0l        X@l        g N)datasetauto_collation
collate_fn	drop_last)selfr   r   r	   r
   s        q/Users/tiagomarins/Projetos/claudeai/copy_bank/venv/lib/python3.13/site-packages/torch/utils/data/_utils/fetch.py__init___BaseDatasetFetcher.__init__	   s    ,$"    c                     [         er   )NotImplementedError)r   possibly_batched_indexs     r   fetch_BaseDatasetFetcher.fetch   s    !!r   )r   r	   r   r
   N)__name__
__module____qualname____firstlineno__r   r   __static_attributes__ r   r   r   r      s    #"r   r   c                   .   ^  \ rS rSrU 4S jrS rSrU =r$ )_IterableDatasetFetcher   c                 T   > [         TU ]  XX45        [        U5      U l        SU l        g )NF)superr   iterdataset_iterended)r   r   r   r	   r
   	__class__s        r   r    _IterableDatasetFetcher.__init__   s%    *H M
r   c                    U R                   (       a  [        eU R                  (       ao  / nU H(  n UR                  [	        U R
                  5      5        M*     [        U5      S:X  d)  U R                  (       a  [        U5      [        U5      :  a  [        eO[	        U R
                  5      nU R                  U5      $ ! [         a    SU l            Mz  f = f)NT    )	r"   StopIterationr   appendnextr!   lenr
   r	   )r   r   data_s       r   r   _IterableDatasetFetcher.fetch   s    ::D+KKT%6%6 78 , 4yA~3t9s3I/J#J##))*Dt$$ % !%DJs   $B>>CC)r!   r"   )r   r   r   r   r   r   r   __classcell__)r#   s   @r   r   r      s    
% %r   r   c                       \ rS rSrS rSrg)_MapDatasetFetcher.   c                 P   U R                   (       aq  [        U R                  S5      (       a7  U R                  R                  (       a  U R                  R                  U5      nO.U Vs/ s H  o0R                  U   PM     nnOU R                  U   nU R	                  U5      $ s  snf )N__getitems__)r   hasattrr   r3   r	   )r   r   r+   idxs       r   r   _MapDatasetFetcher.fetch/   s    t||^449R9R||001GH5KL5KcS)5KL<< 67Dt$$ Ms   (B#r   N)r   r   r   r   r   r   r   r   r   r0   r0   .   s    %r   r0   N)__doc__r   r   r0   r   r   r   <module>r8      s.   " "%1 %6	%, 	%r   