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

Download this file

56 lines (56 with data), 7.2 kB

B

`╔aŃ
@sddlmmZddlmZddlZddlTGddä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Ér
dS)ÚN)┌nnÚ)┌*cs$eZdZçfddäZddäZçZS)┌BCELosscstt|âáítáí|_dS)N)┌superr┌__init__r┌BCEWithLogitsLoss┌bce_loss)┌self┌kwargs)┌	__class__ę˙4/home/wangqiuli/Code/Newcode1222_monk/loss/losses.pyr
szBCELoss.__init__cCs|á||í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|âáítáí|_dS)N)rrrr┌mse_loss)r
r)rr
rrszMSELoss.__init__cCs|á||íS)N)r)r
rrr
r
rrszMSELoss.forward)rrrrrrr
r
)rrrsrcs$eZdZçfddäZddäZçZS)┌CELosscstt|âáítáí|_dS)N)rrrr┌CrossEntropyLoss┌ce_loss)r
r)rr
rrszCELoss.__init__cCs|á||íS)N)r)r
rrr
r
rrszCELoss.forward)rrrrrrr
r
)rrrsrcs0eZdZçfddäZd	ddäZd
ddäZçZS)┌CELoss2dcstt|âáídS)N)rrr)r
r)rr
rr"szCELoss2d.__init__NTcCsÉ|áí\}}}}|áddíáddíáí}||á|||díáddd|ídk}|ád|í}|dk}	||	}tj|||ddŹ}
|rî|
|	jáí}
|
S)NrÚÚrÚ    F)┌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|á||||íS)N)r1)r
rrrr r
r
rr3szCELoss2d.forward)NT)NT)rrrrr1rrr
r
)rrr!s
rcs$eZdZçfddäZddäZçZS)┌BinaryDiceLosscstt|âáídS)N)rr2r)r
)rr
rr7szBinaryDiceLoss.__init__c
Csn|áíd}d}|á|dí}|á|dí}||}d|ádí||ádí|ádí|}d|áí|}	|	S)Nrrrr)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|âáídS)N)rr6r)r
)rr
rrKszDiceLoss.__init__cCsĂ|dk}|tá|ík}t|â}t|â}||}tj|ddŹ}tj|ddŹ}||}tj|ddŹ}tj|ddŹ}||}tj|ddŹ}tj|ddŹ}d|||d}ddtá|í|ádí}|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|âáídS)N)rr@r)r
r)rr
rrlszContrastiveLoss.__init__cCs"tá||í}tátá|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$tá|á|íádíá|ádí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|âáídS)N)rrIr)r
r)rr
rr}szIMLoss.__init__ÚcCsX|jd|jdkr0tj||áíddůddŹ}tjt||ât||âádíddŹáí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|âáídS)N)rrPr)r
r)rr
rrçszKDChannelLoss.__init__c
CsÄd}g}g}d}Éxnt|âDÉ]`}	d}
tá|ddů|	ddůddůfdíád|ddgí}||}tá|dddgítá|ddů|	ddůddůfí|
}
tj|
|ddŹ}|á|ítá|ddů|	ddůddůfdíád|ddgí}||}tá|dddgítá|ddů|	ddůddůfí|
}tj||ddŹ}|á|ítá|tá||íítá|tá||íí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@r2r6rI┌	KDChannelrcCstáíS)N)┌	__factory┌keysr
r
r
r┌	get_names╝sr_cKs(|táíkrtdá|íâét|f|ÄS)NzUnknown loss: {})r]r^┌KeyError┌format)┌namerr
r
r┌	init_loss└src┌__main__)Ztorch.nn.functionalr┌
functionalr&r8┌utils┌Modulerrrrr2r6r@rHrIrPr]r_rcrr
r
r
r┌<module>s4
*