
    ;i/                         S SK rS SKrS SKJr  S SKJr   " S S5      r " S S\R                  R                  5      r
SS\4S	 jjrSS\4S
 jjrg)    N)
DataLoader)DistributedTypec                   *    \ rS rSrSS jrS rS rSrg)RegressionDataset   Nc                 <   [         R                  R                  U5      nX0l        UR	                  U4S9R                  [         R                  5      U l        XR                  -  U-   UR	                  SU4S9R                  [         R                  5      -   U l        g )N)sizeg?)scaler	   )	nprandomdefault_rnglengthnormalastypefloat32xy)selfabr   seedrngs         n/home/dmtnaga/Documents/work/airagagent/rag_env/lib/python3.13/site-packages/accelerate/test_utils/training.py__init__RegressionDataset.__init__   sr    ii##D)&+222::>VVa#**3fY*"G"N"Nrzz"ZZ    c                     U R                   $ N)r   )r   s    r   __len__RegressionDataset.__len__   s    {{r   c                 @    U R                   U   U R                  U   S.$ )Nr   r   r"   )r   is     r   __getitem__RegressionDataset.__getitem__    s    VVAYTVVAY//r   )r   r   r   )      @   N)__name__
__module____qualname____firstlineno__r   r   r$   __static_attributes__ r   r   r   r      s    [0r   r   c                   6   ^  \ rS rSrSU 4S jjrSS jrSrU =r$ )RegressionModel$   c                 H  > [         TU ]  5         [        R                  R	                  [        R
                  " U5      R                  5       5      U l        [        R                  R	                  [        R
                  " U5      R                  5       5      U l        SU l	        g )NT)
superr   torchnn	Parametertensorfloatr   r   first_batch)r   r   r   double_output	__class__s       r   r   RegressionModel.__init__%   sd    ##ELLO$9$9$;<##ELLO$9$9$;<r   c                     U R                   (       aM  [        SU R                  R                   SU R                  R                   SUR                   35        SU l         XR                  -  U R                  -   $ )NzModel dtype: z, z. Input dtype: F)r9   printr   dtyper   )r   r   s     r   forwardRegressionModel.forward+   sW    M$&&,,r$&&,,qwwiXY$D66zDFF""r   )r   r   r9   )r   r   Fr   )r)   r*   r+   r,   r   r@   r-   __classcell__)r;   s   @r   r0   r0   $   s     # #r   r0   
batch_sizec                 R  ^ ^^ SSK Jn  SSKJn  UR	                  S5      mSSS.nU" SUS	9nUS
   R                  S5      n[        U5       VVs0 s H  u  pxX_M	     snnmUU4S jn	UR                  U	S/ SQS9n
U U4S jn[        U
S
   SUSS9n[        U
S   SUSS9nX4$ s  snnf )Nr   load_datasetAutoTokenizerzbert-base-cased!tests/test_samples/MRPC/train.csvtests/test_samples/MRPC/dev.csvtrain
validationcsv
data_filesrL   labelc                 v   > T" U S   U S   SS SS9nSU ;   a  U S    Vs/ s H  nTU   PM
     snUS'   U$ s  snf )N	sentence1	sentence2T
max_length)
truncationrU   paddingrQ   labelsr.   )examplesoutputsllabel_to_id	tokenizers      r   tokenize_function-mocked_dataloaders.<locals>.tokenize_function=   s]    [!8K#8TVZdp
 h9A'9J K9JAQ9J KGH !Ls   6TrS   rT   rQ   batchedremove_columnsc                    > TR                   [        R                  :X  a  TR                  U SSSS9$ TR                  U SSS9$ )NrU      pt)rW   rU   return_tensorslongest)rW   rg   )distributed_typer   XLApad)rY   acceleratorr]   s    r   
collate_fn&mocked_dataloaders.<locals>.collate_fnM   sD    ''?+>+>>==<C`d=ee}}Xy}NNr   r&   shufflerm   rC   rM   F   )	datasetsrF   transformersrH   from_pretrainedunique	enumeratemapr   )rl   rC   rF   rH   rP   rr   
label_listr#   vr^   tokenized_datasetsrm   train_dataloadereval_dataloaderr\   r]   s   `             @@r   mocked_dataloadersr}   2   s    %*--.?@I>NopJEj9H'"))'2J$-j$9:$9DA14$9:K ": & O ""4W"=tXbopq !3L!A5]gtuvO,,9 ;s   B#c                 P  ^ ^ SSK Jn  SSKJn  UR	                  S5      mTR
                  Tl        SSS.nU" SUS	9nU4S
 jnT R                  5          UR                  US/ SQS9nS S S 5        U U4S jn[        WS   SUSS9n	[        US   SUSS9n
X4$ ! , (       d  f       N6= f)Nr   rE   rG   zHuggingFaceTB/SmolLM-360MrI   rJ   rK   rN   rO   c                     > T" U S   SS SS9nU$ )NrS   TF)rV   rU   return_attention_maskr.   )rY   rZ   r]   s     r   r^   Gmocked_dataloaders_for_autoregressive_models.<locals>.tokenize_functiond   s    H[1dtkpqr   Tr`   ra   c           	        > TR                   [        R                  :X  a  SO'[        U  Vs/ s H  n[	        US   5      PM     sn5      nTR
                  S:X  a  SnOTR
                  S:w  a  SnOS nTR                  U SUS-   US	S
9nUS   S S 2SS 24   US'   US   S S 2S S24   US'   [        R                  " US   TR                  :H  SUS   5      US'   U$ s  snf )Nre   	input_idsfp8   no   rU   rq   rf   )rW   rU   pad_to_multiple_ofrg   rX   i)
ri   r   rj   maxlenmixed_precisionrk   r4   wherepad_token_id)rY   erU   r   batchrl   r]   s        r   rm   @mocked_dataloaders_for_autoregressive_models.<locals>.collate_fnr   s    ++/B/BB 8<8ac!K.)8<= 	 &&%/!#((D0!"!% !A~1  
  ,QU3h";/3B37k++eHo9O9O&OQUW\]eWfgh/ =s   CrL   Fr&   ro   rM   rq   )
rr   rF   rs   rH   rt   	eos_token	pad_tokenmain_process_firstrw   r   )rl   rC   rF   rH   rP   rr   r^   rz   rm   r{   r|   r]   s   `          @r   ,mocked_dataloaders_for_autoregressive_modelsr   Z   s    %*--.IJI#--I>NopJEj9H 
	'	'	)%\\> * 
 
*> ""4W"=uYcpqr !3L!A5]gtuvO,,S 
*	)s   B
B%)r   )numpyr   r4   torch.utils.datar   accelerate.utils.dataclassesr   r   r5   Moduler0   intr}   r   r.   r   r   <module>r      sJ      ' 80 0#ehhoo #%- %-P:-# :-r   