
    9iJ                     d    S SK r " S S\5      r " S S\5      r " S S\5      r " S S	\5      rg)
    Nc                   &    \ rS rSrS rS rS rSrg)Sampler   c                     g N selfs    j/var/www/html/land-doc-ocr/venv/lib/python3.13/site-packages/modelscope/preprocessors/nlp/space/sampler.py__init__Sampler.__init__   s        c                     [         er   NotImplementedErrorr	   s    r   __len__Sampler.__len__       !!r   c                     [         er   r   r	   s    r   __iter__Sampler.__iter__   r   r   r   N__name__
__module____qualname____firstlineno__r   r   r   __static_attributes__r   r   r   r   r      s    ""r   r   c                   &    \ rS rSrS rS rS rSrg)SequentialSampler   c                     Xl         g r   datasetr
   r#   s     r   r   SequentialSampler.__init__   s
    r   c                 ,    [        U R                  5      $ r   lenr#   r	   s    r   r   SequentialSampler.__len__       4<<  r   c                 <    [        [        [        U 5      5      5      $ r   )iterranger(   r	   s    r   r   SequentialSampler.__iter__   s    E#d)$%%r   r"   Nr   r   r   r   r   r      s    !&r   r   c                   &    \ rS rSrS rS rS rSrg)RandomSampler   c                     Xl         SU l        g )Nr   r#   epochr$   s     r   r   RandomSampler.__init__!   s    
r   c                 ,    [        U R                  5      $ r   r'   r	   s    r   r   RandomSampler.__len__&   r*   r   c                     [         R                  R                  U R                  5        U =R                  S-  sl        [	        [         R                  R                  [        U 5      5      5      $ )N   )nprandomseedr4   r,   permutationr(   r	   s    r   r   RandomSampler.__iter__)   sA    
		tzz"

a
BII))#d)455r   r3   Nr   r   r   r   r0   r0      s    
!6r   r0   c                   .    \ rS rSrSrSS jrS rS rSrg)	SortedSampler/   z4Sorted Sampler.
Sort each block of examples by key.
c                 <   ^ ^ UT l         UT l        UU 4S jT l        g )Nc                 N   > [        TR                  R                  U    T   5      $ r   )r(   samplerr#   )idxkeyr
   s    r   <lambda>(SortedSampler.__init__.<locals>.<lambda>7   s    s4<<#7#7#<S#ABr   )rD   sort_pool_sizerF   )r
   rD   rI   rF   s   `  `r   r   SortedSampler.__init__4   s    ,Br   c                 ,    [        U R                  5      $ r   )r(   rD   r	   s    r   r   SortedSampler.__len__:   r*   r   c              #   2  #    / nU R                    HQ  nUR                  U5        [        U5      U R                  :X  d  M/  [	        XR
                  S9nU H  nUv   M	     / nMS     [        U5      S:  a!  [	        XR
                  S9nU H  nUv   M	     g g 7f)N)rF   r   )rD   appendr(   rI   sortedrF   )r
   poolrE   is       r   r   SortedSampler.__iter__=   s     <<CKK4yD///d1AG    t9q=$HH-D  s   :B AB)rF   rD   rI   N)src)	r   r   r   r   __doc__r   r   r   r   r   r   r   r@   r@   /   s    !r   r@   )numpyr:   objectr   r   r0   r@   r   r   r   <module>rW      s:    	"f 	"
& 
&6G 6 G r   