mindspore.ms_class

mindspore.ms_class(cls)[源代码]

用户自定义类的类装饰器。

MindSpore可以通过ms_class识别用户定义的类,从而获取这些类的属性和方法。

参数:

  • cls (Class) - 用户自定义的类。

返回:

带有 __ms_class__ 属性的类。

异常:

  • TypeError – 如果 ms_class 用于非 class 类型或者 nn.Cell。

  • AttributeError – 如果调用了 ms_class 装饰的类的私有属性或魔术方法。

支持平台:

Ascend GPU CPU

样例:

>>> import mindspore.nn as nn
>>> from mindspore import ms_class
...
>>> @ms_class
... class UserDefinedNet:
...     def __init__(self):
...         self.value = 10
...
...     def func(self, x):
...         return 2 * x
...
>>> class Net(nn.Cell):
...     def __init__(self):
...         super(Net, self).__init__()
...         self.net = UserDefinedNet()
...
...     def construct(self, x):
...         out = self.net.value + self.net.func(x)
...         return out
...
>>> net = Net()
>>> out = net(5)
>>> print(out)
20