21 lines (21 with data), 2.6 kB
o
Y®eN ã @ sh d dl Z d dlmZ d dlm mZ d dlmZ G dd deZdd Z dd Z
G d d
d
ejZdS )é N)ÚFunctionc @ s e Zd ZdZdd Zdd ZdS )Ú DiceCoeffz"Dice coeff for individual examplesc C sl | ||¡ d}t | ¡ d¡| ¡ d¡¡| _t |¡t |¡ | | _d| j ¡ | | j ¡ }|S )Ng-Cëâ6?éÿÿÿÿé ) Úsave_for_backwardÚtorchÚdotÚ
contiguousÚviewÚinterÚsumÚunionÚfloat)ÚselfÚinputÚtargetÚepsÚt© r úAc:\Users\zafry\Downloads\bone_paper_codes\bone_paper_codes\dsc.pyÚforward s "zDiceCoeff.forwardc C sV | j \}}d }}| jd r |d || j | j | j| j }| jd r'd }||fS )Nr r é )Úsaved_variablesÚneeds_input_gradr
r )r Úgrad_outputr r Ú
grad_inputZgrad_targetr r r Úbackward s
ÿ
zDiceCoeff.backwardN)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r r r r r r r s r c C sf | j r
t d¡ ¡ ¡ }nt d¡ ¡ }tt| |D ]\}}|t |d |d ¡ }q||d S )zDice coeff for batchesr r ) Úis_cudar ÚFloatTensorÚcudaÚzero_Ú enumerateÚzipr r )r r ÚsÚiÚcr r r Ú
dice_coeff"