
    9j	                     >    d dl Z d dlZd Ze j                  d        Zy)    Nc                 "   t               5  t        j                  d        | |i |}t        |t        j                        r7|j
                  j                  dk(  rt        j                  j                          |cddd       S # 1 sw Y   yxY w)zWrapper to set seed manually for some functions like dropout
    See: https://github.com/pytorch/pytorch/pull/62315#issuecomment-896143189 for more details.
    *   lazyN)	freeze_rng_statetorchmanual_seed
isinstanceTensordevicetype_lazy	mark_step)opargskwargsoutputs       T/media/conek/DATA/Code/OCR/venv/lib/python3.12/site-packages/torch/testing/_utils.pywrapper_set_seedr      sp     
	 	"T$V$fell+0B0Bf0L KK!!#	 	 	s   A0BBc            	   #     K   t         j                  j                  j                         5  t         j                  j                         5  t        j                         } t         j                  j                         rOt         j                  j                  d      }|-t        j                  |j                        j                         }d d d        d d d        	 d  t         j                  j                  j                         5  t         j                  j                         5  t         j                  j                         rPt         j                  j                  d      }|.t        j                  |j                        j                         t        j                          d d d        d d d        y # 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   *xY w# 1 sw Y   y xY w# t         j                  j                  j                         5  t         j                  j                         5  t         j                  j                         rPt         j                  j                  d      }|.t        j                  |j                        j                         t        j                          d d d        n# 1 sw Y   nxY wd d d        w # 1 sw Y   w xY wxY ww)NT)check_available)r   utils_mode_utilsno_dispatch_C_DisableFuncTorchget_rng_stateacceleratoris_availablecurrent_acceleratorget_device_moduler   set_rng_state)	rng_stater   accelerator_rng_states      r   r   r      s;     
	 	 	,	,	. "0J0J0L "'')	))+++??PT?UK&(-(?(?$$)-/ &" "+ [[$$002 		+EHH4N4N4P 		+  --/#//CC$( D  *++K,<,<=KK- 	*		+ 		+ 		+'" " " "&		+ 		+ 		+ 		+U[[$$002 		+EHH4N4N4P 		+  --/#//CC$( D  *++K,<,<=KK- 	*		+ 		+ 		+ 		+ 		+ 		+s   )K&G	
BF=G	K&G- !(K&	G!(BG,G!4	K&=G	G		GK&G	G!!G*&K&-)K#K5BK	9	KKK	K#K K##K&)
contextlibr   r   contextmanagerr        r   <module>r(      s*       !+ !+r'   