Scheaven
2021-09-18 291deeb1fcf45dbf39a24aa72a213ff3fd6b3405
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
B
_àã@sLdZddlZddlmZddlmmZddlmZGdd„dejƒZ    dS)z9
@author:  liaoxingyu
@contact: sherlockliao01@gmail.com
éN)Ú    Parametercs,eZdZ‡fdd„Zdd„Zdd„Z‡ZS)ÚCirclecsDtƒ ¡||_||_|jjj|_|jjj|_    t
t   ||¡ƒ|_ dS)N)ÚsuperÚ__init__Úin_featÚ _num_classesÚMODELÚHEADSÚSCALEÚ_sÚMARGINÚ_mrÚtorchÚTensorÚweight)ÚselfÚcfgrÚ num_classes)Ú    __class__©ú./layers/circle.pyrs 
  zCircle.__init__c Cs¤t t |¡t |j¡¡}t | ¡ d|j¡}t | ¡|j¡}d|j}|j}|j|||}|j|||}    tj||j    d}||d||    }
|
S)Né)rgð?)
ÚFÚlinearÚ    normalizerÚreluÚdetachr r Úone_hotr) rÚfeaturesÚtargetsZsim_matZalpha_pZalpha_nZdelta_pZdelta_nZs_pZs_nÚpred_class_logitsrrrÚforwards
zCircle.forwardcCsd |j|j|j|j¡S)Nz3in_features={}, num_classes={}, scale={}, margin={})Úformatrrr r )rrrrÚ
extra_repr'szCircle.extra_repr)Ú__name__Ú
__module__Ú __qualname__rr!r#Ú __classcell__rr)rrr s     r)
Ú__doc__rÚtorch.nnÚnnÚtorch.nn.functionalÚ
functionalrrÚModulerrrrrÚ<module>s