@@ -3342,17 +3342,45 @@ def __init__(self, name, inputs, **xargs):
33423342 self .set_layer_size (input_layer .size )
33433343
33443344
3345+ @config_layer ('cos' )
3346+ class CosSimLayer (LayerBase ):
3347+ def __init__ (self , name , inputs , cos_scale = 1 , device = None ):
3348+ super (CosSimLayer , self ).__init__ (
3349+ name , 'cos' , 1 , inputs = inputs , device = device )
3350+ config_assert (
3351+ len (self .inputs ) == 2 ,
3352+ 'The CosSimLayer expects two and only two inputs.' )
3353+ config_assert (
3354+ self .get_input_layer (0 ).size == self .get_input_layer (1 ).size ,
3355+ 'The two inputs of CosSimLayer must have the same dimensionality.' )
3356+ self .config .cos_scale = cos_scale
3357+
3358+
33453359@config_layer ('cos_vm' )
33463360class CosSimVecMatLayer (LayerBase ):
33473361 def __init__ (self , name , size , inputs , cos_scale = 1.0 , device = None ):
33483362 super (CosSimVecMatLayer , self ).__init__ (
33493363 name , 'cos_vm' , size , inputs = inputs , device = device )
33503364 self .config .cos_scale = cos_scale
33513365 config_assert (
3352- len (self .inputs ) == 2 , 'CosSimVecMatLayer must have 2 inputs' )
3366+ len (self .inputs ) == 2 , 'The CosSimVecMatLayer must have 2 inputs. ' )
33533367 config_assert (
33543368 size * self .get_input_layer (0 ).size == self .get_input_layer (1 ).size ,
3355- 'Wrong input size for CosSimVecMatLayer' )
3369+ 'Wrong input size for CosSimVecMatLayer.' )
3370+
3371+
3372+ @config_layer ('l2_distance' )
3373+ class L2DistanceLayer (LayerBase ):
3374+ def __init__ (self , name , inputs , device = None ):
3375+ super (L2DistanceLayer , self ).__init__ (
3376+ name , 'l2_distance' , 1 , inputs = inputs , device = device )
3377+ config_assert (
3378+ len (self .inputs ) == 2 , ('The L2DistanceLayer must have '
3379+ 'and only have 2 inputs.' ))
3380+ config_assert (
3381+ self .get_input_layer (0 ).size == self .get_input_layer (1 ).size ,
3382+ ('Two inputs of the L2DistanceLayer must have '
3383+ 'the same dimensionality.' ))
33563384
33573385
33583386@config_layer ('sampling_id' )
@@ -3396,18 +3424,6 @@ def __init__(self,
33963424 self .create_bias_parameter (bias , self .config .size )
33973425
33983426
3399- @config_layer ('cos' )
3400- class CosSimLayer (LayerBase ):
3401- def __init__ (self , name , inputs , cos_scale = 1 , device = None ):
3402- super (CosSimLayer , self ).__init__ (
3403- name , 'cos' , 1 , inputs = inputs , device = device )
3404- config_assert (len (self .inputs ) == 2 , 'CosSimLayer must have 2 inputs' )
3405- config_assert (
3406- self .get_input_layer (0 ).size == self .get_input_layer (1 ).size ,
3407- 'inputs of CosSimLayer must have same dim' )
3408- self .config .cos_scale = cos_scale
3409-
3410-
34113427@config_layer ('tensor' )
34123428class TensorLayer (LayerBase ):
34133429 def __init__ (self , name , size , inputs , bias = True , ** xargs ):
0 commit comments