昇腾社区首页
中文
注册

工厂注册类

register接口功能

工厂注册类,用来注册用户自己的回调接口。此接口是一个wrapper接口,通过Python的注解功能将指定的对象注册到工厂。

接口引用路径

ockics.common.ClassFactory

register接口格式

函数:register(cls, type_name=ClassType.GENERAL, alias=None)

register接口输入参数

参数

类型

是否必选

说明

取值要求

cls

str

必选

Python类接口的第一个参数。

无。

type_name

str

必选

需要注册的工厂类类别,类别的取值为ClassType中定义的类别。

类别的取值为ClassType中定义的类别。

alias

str

可选

注册回调接口的别名,未输入此参数时候,默认使用type_name作为别名。

别名长度不超过64个字符,可以字母数字组合。

register接口返回值

get_cls接口功能

从工厂中获取某个注册对象。

get_cls接口格式

函数:get_cls(cls, type_name, t_cls_name=None)

get_cls接口输入参数

参数

类型

是否必选

说明

取值要求

cls

str

必选

Python类接口的第一个参数。

无。

type_name

str

必选

注册的工厂类类别,类别的取值为ClassType中定义的类别。

类别的取值为ClassType中定义的类别。

t_cls_name

str

可选

需要获取的回调接口的别名,未输入此参数时候,默认使用type_name作为别名。

建议别名长度小于256个字符,可以字母数字组合。

get_cls接口返回值

注册的类对象。

is_exists接口功能

判断某个注册对象是否存在。

is_exists接口格式

函数:is_exists(cls, type_name, cls_name=None)

is_exists接口输入参数

参数

类型

是否必选

说明

取值要求

cls

str

必选

Python类接口的第一个参数。

无。

type_name

str

必选

注册的工厂类类别,类别的取值为ClassType中定义的类别。

类别的取值为ClassType中定义的类别。

t_cls_name

str

可选

需要获取的回调接口的别名。

建议别名长度小于256个字符,可以字母数字组合。

is_exists接口返回值

是否存在。

使用样例

from ockics.common import ClassFactory, ClassType
from ockics.entry import main_train
from ockics.modules.estimator import BaseEstimator
@ClassFactory.register(ClassType.ESTIMATOR)
class Estimator(BaseEstimator):
    '''
    my own train estimator
    '''
    def train(self, init_model, train_data, eval_data, train_config_yaml):
        print(init_model)
        print(train_data)
        print(eval_data)
        print(train_config_yaml)
        return "./samples/yolov5/yolov5x6_base.pt", "./samples/yolov5/yolov5x6.onnx"
if __name__ == "__main__":
    main_train()