o & i ã@s.ddlmZddlmZGdd„dejƒZdS)é)Ú annotationsNcs8eZdZdZdd‡fd d „ Zdddd„Zdd„Z‡ZS)ÚDropPathz~Stochastic drop paths per sample for residual blocks. Based on: https://github.com/rwightman/pytorch-image-models çTÚ drop_probÚfloatÚ scale_by_keepÚboolÚreturnÚNonecs>tƒ ¡||_||_d|krdkstdƒ‚tdƒ‚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__©úa/home/dell461/cl/sdc2/last_ska_mid/HISourceFinder-master-l/src/monai/networks/layers/drop_path.pyr s ÿÿzDropPath.__init__FÚtrainingcCs`|dks|s|Sd|}|jdfd|jd}| |¡ |¡}|dkr,|r,| |¡||S)Nrr r)r )ÚshapeÚndimÚ new_emptyÚ bernoulli_Údiv_)rÚxrrrZ keep_probrZ random_tensorrrrÚ drop_path$s   zDropPath.drop_pathcCs| ||j|j|j¡S)N)rrrr)rrrrrÚforward.szDropPath.forward)rT)rrrrr r )rFT)rrrrrr)Ú__name__Ú __module__Ú __qualname__Ú__doc__r rrÚ __classcell__rrrrrs   r)Ú __future__rÚtorch.nnÚnnÚModulerrrrrÚs