U “PÓh ã@s.ddlmZddlmZGdd„dejƒZdS)é)Ú annotationsNcsHeZdZdZdddddœ‡fdd „ Zddddd œd d „Zdd„Z‡ZS)ÚDropPathz~Stochastic drop paths per sample for residual blocks. Based on: https://github.com/rwightman/pytorch-image-models çTÚfloatÚboolÚNone)Ú drop_probÚ scale_by_keepÚreturncs8tƒ ¡||_||_d|kr*dks4ntdƒ‚dS)z„ Args: drop_prob: drop path probability. scale_by_keep: scaling by non-dropped probability. réz)Drop path prob should be between 0 and 1.N)ÚsuperÚ__init__rr Ú ValueError)Úselfrr ©Ú __class__©úT/home/dell461/cl/sdc2/HISourceFinder-master-l/src/monai/networks/layers/drop_path.pyr s  zDropPath.__init__F)rÚtrainingr cCs`|dks |s|Sd|}|jdfd|jd}| |¡ |¡}|dkrX|rX| |¡||S)Nrr r)r )ÚshapeÚndimÚ new_emptyÚ bernoulli_Údiv_)rÚxrrr Z keep_probrZ random_tensorrrrÚ drop_path$s   zDropPath.drop_pathcCs| ||j|j|j¡S)N)rrrr )rrrrrÚforward.szDropPath.forward)rT)rFT)Ú__name__Ú __module__Ú __qualname__Ú__doc__r rrÚ __classcell__rrrrrs  r)Ú __future__rÚtorch.nnÚnnÚModulerrrrrÚ s