Пример #1
0
    def __init__(self,
                 embbeding_size=128,
                 classnum=270762,
                 s=32,
                 a=1.0,
                 m=0.3,
                 b=0.2):
        super(CombineMarginFCFp16, self).__init__()
        weight_shape = [classnum, embbeding_size]
        weight_init = initializer(me_init.ReidXavierUniform(), weight_shape)
        self.weight = Parameter(weight_init, name='weight')

        self.m = m
        self.s = s
        self.a = a
        self.b = b
        self.m_const = Tensor(self.m, dtype=mstype.float16)
        self.a_const = Tensor(self.a, dtype=mstype.float16)
        self.b_const = Tensor(self.b, dtype=mstype.float16)
        self.s_const = Tensor(self.s, dtype=mstype.float16)
        self.m_const_zero = Tensor(0, dtype=mstype.float16)
        self.a_const_one = Tensor(1, dtype=mstype.float16)
        self.normalize = P.L2Normalize(axis=1)
        self.fc = P.MatMul(transpose_b=True)

        self.onehot = P.OneHot()
        self.transpose = P.Transpose()
        self.acos = P.ACos()
        self.cos = P.Cos()
        self.cast = P.Cast()
        self.on_value = Tensor(1.0, mstype.float32)
        self.off_value = Tensor(0.0, mstype.float32)
Пример #2
0
 def __init__(self, args):
     super(CombineMarginFC, self).__init__()
     weight_shape = [args.num_classes, args.emb_size]
     weight_init = initializer(me_init.ReidXavierUniform(), weight_shape)
     self.weight = Parameter(weight_init, name='weight')
     self.m = args.margin_m
     self.s = args.margin_s
     self.a = args.margin_a
     self.b = args.margin_b
     self.m_const = Tensor(self.m, dtype=mstype.float16)
     self.a_const = Tensor(self.a, dtype=mstype.float16)
     self.b_const = Tensor(self.b, dtype=mstype.float16)
     self.s_const = Tensor(self.s, dtype=mstype.float16)
     self.m_const_zero = Tensor(0, dtype=mstype.float16)
     self.a_const_one = Tensor(1, dtype=mstype.float16)
     self.normalize = P.L2Normalize(axis=1)
     self.fc = P.MatMul(transpose_b=True)
     self.onehot = P.OneHot()
     self.transpose = P.Transpose()
     self.acos = P.ACos()
     self.cos = P.Cos()
     self.cast = P.Cast()
     self.on_value = Tensor(1.0, mstype.float32)
     self.off_value = Tensor(0.0, mstype.float32)
Пример #3
0
     'desc_bprop': [[2, 3, 3, 5]]}),
 ('Exp', {
     'block': P.Exp(),
     'desc_inputs': [[2, 3]],
     'desc_bprop': [[2, 3]]}),
 ('Erf', {
     'block': P.Erf(),
     'desc_inputs': [Tensor(np.array([-2, -1, 0, 1, 2]).astype(np.float16))],
     'desc_bprop': [Tensor(np.array([-2, -1, 0, 1, 2]).astype(np.float16))]}),
 ('Floor', {
     'block': P.Floor(),
     'desc_inputs': [[2, 512, 56, 56]],
     'desc_bprop': [[2, 512, 56, 56]],
     'skip': ['backward']}),
 ('ACos', {
     'block': P.ACos(),
     'desc_inputs': [[2, 3]],
     'desc_bprop': [[2, 3]]}),
 ('Acosh', {
     'block': P.Acosh(),
     'desc_inputs': [Tensor(np.random.rand(4).astype(np.float16))],
     'skip': ['backward']}),
 ('Sin', {
     'block': P.Sin(),
     'desc_inputs': [[2, 3]],
     'desc_bprop': [[2, 3]]}),
 ('Reciprocal', {
     'block': P.Reciprocal(),
     'desc_inputs': [[2, 3, 3, 5]],
     'desc_bprop': [[2, 3, 3, 5]]}),
 ('Minimum_0', {
Пример #4
0
def test_acos_fp16():
    x_np = np.array([0.74, 0.04, 0.30, 0.56]).astype(np.float16)
    output_ms = P.ACos()(Tensor(x_np))
    output_np = np.arccos(x_np)
    assert np.allclose(output_ms.asnumpy(), output_np)
Пример #5
0
        'skip': ['backward']}),

    # input is not tensor
    ('Cos0', {
        'block': (P.Cos(), {'exception': TypeError, 'error_keywords': ['Cos']}),
        'desc_inputs': [5.0],
        'skip': ['backward']}),
    # input is Tensor(bool)
    ('Cos1', {
        'block': (P.Cos(), {'exception': TypeError, 'error_keywords': ['Cos']}),
        'desc_inputs': [Tensor(np.ones([3, 4]).astype(np.bool_))],
        'skip': ['backward']}),

    # input is not tensor
    ('ACos0', {
        'block': (P.ACos(), {'exception': TypeError, 'error_keywords': ['ACos']}),
        'desc_inputs': [5.0],
        'skip': ['backward']}),
    # input is Tensor(bool)
    ('ACos1', {
        'block': (P.ACos(), {'exception': TypeError, 'error_keywords': ['ACos']}),
        'desc_inputs': [Tensor(np.ones([3, 4]).astype(np.bool_))],
        'skip': ['backward']}),

    # input is not tensor
    ('Sin0', {
        'block': (P.Sin(), {'exception': TypeError, 'error_keywords': ['Sin']}),
        'desc_inputs': [5.0],
        'skip': ['backward']}),
    # input is Tensor(bool)
    ('Sin1', {
Пример #6
0
        'desc_inputs': [5.0],
        'skip': ['backward']
    }),
    # input is Tensor(bool)
    ('Cos1', {
        'block': (P.Cos(), {
            'exception': TypeError,
            'error_keywords': ['Cos']
        }),
        'desc_inputs': [Tensor(np.ones([3, 4]).astype(np.bool_))],
        'skip': ['backward']
    }),

    # input is not tensor
    ('ACos0', {
        'block': (P.ACos(), {
            'exception': TypeError,
            'error_keywords': ['ACos']
        }),
        'desc_inputs': [5.0],
        'skip': ['backward']
    }),
    # input is Tensor(bool)
    ('ACos1', {
        'block': (P.ACos(), {
            'exception': TypeError,
            'error_keywords': ['ACos']
        }),
        'desc_inputs': [Tensor(np.ones([3, 4]).astype(np.bool_))],
        'skip': ['backward']
    }),
Пример #7
0
 def __init__(self):
     super(NetACos, self).__init__()
     self.acos = P.ACos()