
    %h)              	       V   d dl Z d dlZ G d d      Zedk(  rd dlZ ej
                  d      Zej                  ddd	
       ej                  ddd
       ej                         Z	 e       Z
e	j                         D ](  \  ZZes	 ee
j                  e ed      d              * yy)    Nc                       e Zd ZddZy)ConfigNc                    t         j                  j                  d      dgd   | _        t         j                  j	                  | j                  d      | _        g dd   | _        dj	                  g dd d       dj	                  g d	      dj	                  g d
      dj	                  ddg      dj	                  ddg      dj	                  ddg      d| j                     | _        dj	                  t         j                  j                  t         j                  j	                  | j
                  | j                              rGt        j                  t         j                  j	                  | j
                  | j                              ng D cg c]"  }|| j                  j                  d      vs!|$ c}      }ddgd   dg dd   |||d| j                     | _        | j                  dvrdnd| _        d dgd   | _        d| _        d| _        d| _        d| _        d| _        | j$                  xr d| _        d| _        d| _        ddgd   | _        g dd   | _        g dd   | _        g dd   | _        dd gd   | _        d!| _        dd"d#d#d#d#d$d| j                     gd   | _        d%| j                  v rd&nd't;        j<                  | j6                  d!z        z  | _        tA        d!| j6                        | _!        g d(d)   | _"        g d*g d*g d+g d,g d,g d-g d.g d/g d/g d0g d,d1| jD                     | _#        | j.                  d2k(  r"| jF                  D cg c]  }|dz  	 c}| _#        | j,                  r#| jF                  dd  d d d3   | j,                   d  ng | _$        d4gd   | _%        d5d6gd   | _&        g d7d   | _'        | jN                  xr d| _(        | jP                  xr d| _)        | jP                  xr d| _*        d| _+        d| _,        d| _-        d8d9gd   | _.        g d:d | j                  sd!nd | _/        d;d<gd   | _0        d=g| _1        d>| _2        | j                  d?v rd@dAdAdBddddCdddD
| _3        n3| j                  dEv rd@d>dAdBddddCdddD
| _3        nd@d>dAdddddCdddD
| _3        dFdGi| _4        t         j                  j	                  | j                  dH      | _5        t         j                  j	                  | jj                  dI      t         j                  j	                  | jj                  dJdKgd         t         j                  j	                  | jj                  dLdMgd         t         j                  j	                  | jj                  dNdOgd         t         j                  j	                  | jj                  dPgd         t         j                  j	                  | jj                  dQgd         t         j                  j	                  | jj                  dRgd         t         j                  j	                  | jj                  dSgd         dT| _6        d| _7        d| _8        d| _9        ddUgd   | _:        d| _;        dV| _<        t        j                  dW      D cg c]
  }dX|k(  s	| c}t        j                  dY      D cg c](  }dX|k(  s	t         j                  j	                  dY|      * c}z   }|rt{        |d   dZ      5 }|j}                         }t        |D cg c]5  }d[j                  | j                        |v s!d\|v s&|j                         7 c}d   j                  d\      d3   j                         d         | _B        t        |D cg c]5  }d[j                  | j                        |v s!d]|v s&|j                         7 c}d   j                  d]      d3   j                         d         | _C        d d d        y y c c}w c c}w c c}w c c}w c c}w c c}w # 1 sw Y   y xY w)^N~z
/workspace   zdatasets/dis)DIS5KCODHRSODGeneral
General-2KMattingr   ,)DIS-VDzDIS-TE1zDIS-TE2zDIS-TE3zDIS-TE4)	CHAMELEONNC4KzTE-CAMOz	TE-COD10K)zDAVIS-SzTE-HRSODzTE-UHRSDz	DUT-OMRONzTE-DUTSr   zTE-P3M-500-NPzTE-AM-2k+zDIS-TRz&DIS-TR+DIS-TE1+DIS-TE2+DIS-TE3+DIS-TE4zTR-COD10K+TR-CAMO)zTR-DUTSzTR-HRSODzTR-UHRSDzTR-DUTS+TR-HRSODzTR-DUTS+TR-UHRSDzTR-HRSOD+TR-UHRSDzTR-DUTS+TR-HRSOD+TR-UHRSD   )r   )   r   )i 
  i  )   i 	  r   FT   ) addcat   )r   ASPPASPPDeformable)r   BasicDecBlk_x1	ResBlk_x4ASPP_x3ASPPDeformable_x3BasicDecBlkResBlk   iiir   g-C6?gh㈵>)vgg16vgg16bnresnet50	swin_v1_t	swin_v1_s	swin_v1_b	swin_v1_l	pvt_v2_b0	pvt_v2_b1	pvt_v2_b2	pvt_v2_b5   )   r1   r      )i   r   r1   r   )r1   i@  r2   @   )r   r1   r   r2   )i           )r4   r5   r6   `   )r      r3       )r%   r&   r'   r.   r/   r*   r+   r(   r)   r,   r-   r   BasicLatBlkfixedadap)r   itselfRefUNetRefinerRefinerPVTInChannels4BiRefNetBiRefNetC2F)flipenhancerotatepeppercropAdamAdamWg     j@g      ?)r      g        d   
   )
bceiou	iou_patchmaemsetripletregssimcnt	structure)r   r   ceg      @z
weights/cvzpvt_v2_b2.pthzpvt_v2_b5.pthzpvt_v2_b5_22k.pthz)swin_base_patch4_window12_384_22kto1k.pthz%swin_base_patch4_window12_384_22k.pthz*swin_large_patch4_window12_384_22kto1k.pthz&swin_large_patch4_window12_384_22k.pthz1swin_tiny_patch4_window7_224_22kto1k_finetune.pthz2swin_small_patch4_window7_224_22kto1k_finetune.pthzpvt_v2_b0.pthzpvt_v2_b1.pth)r.   r/   r*   r+   r(   r)   r,   r-   cpu   .ztrain.shz..rz'{}')z	val_last=zstep=)Dospath
expandusersys_home_dirjoindata_root_dirtasktestsetsisdirlistdirsplittraining_setsizedynamic_sizebackground_color_synthesisload_allcompileprecisionHighms_supervisionout_refdec_iptdec_ipt_splitcxt_nummul_scl_iptdec_attsqueeze_blockdec_blk
batch_sizefinetune_last_epochsmathsqrtlrmaxnum_workersbblateral_channels_in_collectioncxtlat_blkdec_channels_interrefineprogressive_refenderscaleauxiliary_classificationrefine_iteration	freeze_bbmodelpreproc_methods	optimizerlr_decay_epochslr_decay_ratelambdas_pix_lastlambdas_clsweights_root_dirweightsverbose_eval
only_S_MAESDPA_enableddevicebatch_size_valid	rand_seedopen	readlinesintformatstrip	save_last	save_step)selfdsdatasets_allchannelfrun_sh_filelinesls           (/var/www/html/mariraj/BiRefNet/config.py__init__zConfig.__init__   s     WW//4lCAFWW\\$*;*;^L RRST	 XXTUWVWXY88IJXXYZxx? ;<((Ho#>?xx* =>	
 ))	 xxjljqjqjwjwxzxx  yE  yE  FJ  FX  FX  Z^  Zc  Zc  yd  kerzz"'',,tGYGY[_[d[d:e/f  km  !U  rt  |@  |I  |I  |O  |O  PS  |T  rT  !U  V HI!L& S  TU  V#&#
 )) %)II^$CL	!#MNqQ*/'  " #**3t!1vay-a05a8`abc%x03 ! ii
%
 
%! #dii/4TTYYtYZGZ=[[q$//2
  *6JXn,;N.=R,;N+:M/
 ''/+ u$NRNqNq2r77Q;2rD/TXT`T`466qr:4R4@$,,Pfh &q)#*F"3A"6STUV#{{3t))3e
))/a
(-% !
 
  OOY]YxYxPQ~   A '*1- #u 99#$ "%D! YY33$ "%D!  $ "%D! #

 !#T->-> Md&;&;_Md&;&;oOb=cde=fgd&;&;>i  lS  >T  UV  >W  Xd&;&;>j  mU  >V  WX  >Y  Zd&;&;>q=rst=uvd&;&;>r=stu=vwd&;&;o=Nq=QRd&;&;o=Nq=QR	
 !! %jm !"$**S/EQZ1_qEhjhrhrswhx  IMcd  }G  KL  }LVZ\]I^  IM  Mk!nc* Ua!$%vA'..QUQZQZB[_`B`eptueuaggi%vwx%y%%  AL  &M  NP  &Q  &W  &W  &Y  Z[  &\  "]!$%rA'..QUQZQZB[_`B`elpqeqaggi%rst%u%{%{  }D  &E  FH  &I  &O  &O  &Q  RS  &T  "UU U  !UD 3sx F  IM &w%rU Usl   "`3`#`&
`!1`!
`&"`&`5,"`+
`+
`+
&;`5!"`0
`0
	`0
2`5+
`55`>)returnN)__name__
__module____qualname__r        r   r   r      s	    uUr   r   __main__z%Only choose one argument to activate.)descriptionz--print_task
store_truezprint task name)actionhelpz--print_testsetszprint validation setprint_)r]   rz   r   r   argparseArgumentParserparseradd_argument
parse_argsargsconfig_get_kwargsarg_name	arg_valueprint__getattribute__lenr   r   r   <module>r      s    	 vU vUt z %X$$1XYF
|BST
*<F\]DXF#//1 E)&))(3x=>*BCDE r   