
    ^j                     h    d Z ddlmZ ddlZ	 	 	 ddededededed	   d
ed   dej                  fdZy)z'Drop-path / dropout schedule utilities.    )LiteralN	drop_rateepochsniter_per_epcutoff_epochmodestandardearlylatescheduleconstantlinearreturnc                    |dv sJ |dk(  rt        j                  ||z  |       S ||z  }||z
  |z  }|dk(  rj|dv sJ |dk(  rt        j                  ||       }n|dk(  rt        j                  | d|      }t        j                  t        j                  |d      f      }	nL|dk(  rG|d	v sJ t        j                  |d      }t        j                  |t        j                  ||       f      }	t	        	      ||z  k(  sJ |	S )
zDrop scheduler.r	   r
   r   r   r   r   r   r   )r   )npfulllinspaceconcatenatelen)
r   r   r   r   r   r   early_iters
late_itersearly_schedulefinal_schedules
             h/var/www/ramen.bs-engineer-server.com/venv/lib/python3.12/site-packages/rfdetr/training/drop_schedule.pydrop_schedulerr      s    0000zwwv,i88-K<'<7Jw1111z!WW[)<N![[A{CNQ9O(PQ	<'''a0Y9W(XY~&<"7777    )r   r
   r   )	__doc__typingr   numpyr   floatintndarrayr    r   r   <module>r&      sr    .   1;.8  	
 -
. *+ ZZr   