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)
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)
'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', {
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)
'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', {
'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'] }),
def __init__(self): super(NetACos, self).__init__() self.acos = P.ACos()