[cf6a9e]: / loss / __pycache__ / losses.cpython-36.pyc

Download this file

54 lines (54 with data), 7.1 kB

3

F3ŽaŃ
@sddljjZddlmZddlZddlTGddädejâZGddädejâZGd	d
äd
ejâZ	GddädejâZ
Gd
dädejâZGddädejâZGddädejâZ
ddäZGddädejâZGddädejâZe	e
ee
eeeeedť	ZddäZddäZedkÉrdS)ÚN)┌nnÚ)┌*cs$eZdZçfddäZddäZçZS)┌BCELosscstt|âjâtjâ|_dS)N)┌superr┌__init__r┌BCEWithLogitsLoss┌bce_loss)┌self┌kwargs)┌	__class__ę˙'/home/ws/yanghan/Newcode/loss/losses.pyr
szBCELoss.__init__cCs|j||âS)N)r	)r
┌output┌targetr
r
r┌forwardszBCELoss.forward)┌__name__┌
__module__┌__qualname__rr┌
__classcell__r
r
)rrr	srcs$eZdZçfddäZddäZçZS)┌MSELosscstt|âjâtjâ|_dS)N)rrrr┌mse_loss)r
r)rr
rrszMSELoss.__init__cCs|j||âS)N)r)r
rrr
r
rrszMSELoss.forward)rrrrrrr
r
)rrrsrcs$eZdZçfddäZddäZçZS)┌CELosscstt|âjâtjâ|_dS)N)rrrr┌CrossEntropyLoss┌ce_loss)r
r)rr
rrszCELoss.__init__cCs|j||âS)N)r)r
rrr
r
rrszCELoss.forward)rrrrrrr
r
)rrrsrcs0eZdZçfddäZd	ddäZd
ddäZçZS)┌CELoss2dcstt|âjâdS)N)rrr)r
r)rr
rr"szCELoss2d.__init__NTcCsÉ|jâ\}}}}|jddâjddâjâ}||j|||dâjddd|âdk}|jd|â}|dk}	||	}tj|||ddŹ}
|rî|
|	jjâ}
|
S)NrÚÚrF)┌weight┌size_averageÚ    )	┌size┌	transpose┌
contiguous┌view┌repeat┌F┌
cross_entropy┌data┌sum)r
┌inputrrr┌n┌c┌h┌w┌mask┌lossr
r
r┌cross_entropy2d%s$zCELoss2d.cross_entropy2dcCs|j||||âS)N)r1)r
rrrrr
r
rr3szCELoss2d.forward)NT)NT)rrrrr1rrr
r
)rrr!s
rcs$eZdZçfddäZddäZçZS)┌BinaryDiceLosscstt|âjâdS)N)rr2r)r
)rr
rr7szBinaryDiceLoss.__init__c
Csn|jâd}d}|j|dâ}|j|dâ}||}d|jdâ||jdâ|jdâ|}d|jâ|}	|	S)Nrrrr r )r!r$r))
r
r*┌targets┌NZsmoothZ
input_flatZtargets_flat┌intersectionZ
N_dice_effr0r
r
rr:s*zBinaryDiceLoss.forward)rrrrrrr
r
)rrr26sr2cs$eZdZçfddäZddäZçZS)┌DiceLosscstt|âjâdS)N)rr6r)r
)rr
rrKszDiceLoss.__init__cCsĂ|dk}|tj|âk}t|â}t|â}||}tj|ddŹ}tj|ddŹ}||}tj|ddŹ}tj|ddŹ}||}tj|ddŹ}tj|ddŹ}d|||d}ddtj|â|jdâ}|S)NgÓ?r)┌dimgŹÝÁá¸Ă░>rr)┌torch┌max┌to_float_and_cudar)r!)r
r*r┌num┌den1┌den2┌dice┌
dice_totalr
r
rrNs zDiceLoss.forward)rrrrrrr
r
)rrr6Jsr6cs(eZdZdZçfddäZddäZçZS)┌ContrastiveLosszt
    Contrastive loss function.
    Based on: http://yann.lecun.com/exdb/publis/pdf/hadsell-chopra-lecun-06.pdf
    cstt|âjâdS)N)rr@r)r
r)rr
rrlszContrastiveLoss.__init__cCs"tj||â}tjtj|dââ}|S)Nr)r&┌pairwise_distancer8┌mean┌pow)r
Zoutput1Zoutput2Zeuclidean_distanceZloss_contrastiver
r
rroszContrastiveLoss.forward)rrr┌__doc__rrrr
r
)rrr@fsr@cCs$tj|j|âjdâj|jdâdââS)z]
    attention value of a feature map
    :param x: feature
    :return: attention value
    rrr )r&┌	normalizerCrBr$r!)┌x┌expr
r
r┌attsrHcs&eZdZçfddäZdddäZçZS)┌IMLosscstt|âjâdS)N)rrIr)r
r)rr
rr}szIMLoss.__init__ÚcCsX|jd|jdkr0tj||jâddůddŹ}tjt||ât||âjdâddŹjâS)Nr┌bilinear)┌moder)r7Ú■   )	┌shaper&┌interpolater!r8r)rHrCrB)r
Zfeature1Zfeature2rGr
r
rrüszIMLoss.forward)rJ)rrrrrrr
r
)rrrI|srIcs$eZdZçfddäZddäZçZS)┌
KDChannelLosscstt|âjâdS)N)rrPr)r
r)rr
rrçszKDChannelLoss.__init__c	CsÄd}g}g}d}Éxnt|âDÉ]`}	d}
tj|ddů|	ddůddůfdâjd|ddgâ}||}tj|dddgâtj|ddů|	ddůddůfâ|
}
tj|
|ddŹ}|j|âtj|ddů|	ddůddůfdâjd|ddgâ}||}tj|dddgâtj|ddů|	ddůddůfâ|
}tj||ddŹ}|j|âtj|tj||ââtj|tj||ââd}||7}qW||}|S)	Ngg@gŹÝÁá¸Ă░>rrrr)r7)	┌ranger8┌	unsqueezer%r)r&┌softmax┌append┌log)r
Z
source_logitsZ
target_logits┌gt┌num_classesZkd_lossZsource_probZtarget_prob┌temperature┌i┌epsZs_maskZs_logits_mask_outZs_logits_avgZs_soft_probZt_maskZt_logits_mask_outZt_logits_avgZt_soft_probr0r
r
rrŐs(28
28
4zKDChannelLoss.forward)rrrrrrr
r
)rrrPćsrP)	r'r1┌	BCE_logitr@r2r6rIZ	KDChannelrcCstjâS)N)┌	__factory┌keysr
r
r
r┌	get_names╝sr^cKs(|tjâkrtdj|ââét|f|ÄS)NzUnknown loss: {})r\r]┌KeyError┌format)┌namerr
r
r┌	init_loss└srb┌__main__)Ztorch.nn.functionalr┌
functionalr&r8┌utils┌Modulerrrrr2r6r@rHrIrPr\r^rbrr
r
r
r┌<module>s4
*