工厂注册类
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()