main_train
接口功能
trainer组件入口,自带命令行输入参数。除了用于存储中间状态的工作目录参数是s3路径外,其他的输入都是从本地文件系统输入。
接口引用路径
ockics.entry.main_train
接口格式
函数:main_train(s3_endpoint=None, s3_ak=None, s3_sk=None, s3_secure=None, s3_certcheck=None)
输入参数
参数 |
类型 |
是否必选 |
说明 |
取值要求 |
---|---|---|---|---|
s3_endpoint |
str |
可选 |
组件访问minio存储服务器的endpoint。如果调用时不输入,则默认传入None,内部会自动从环境变量S3_ENDPOINT_URL中获取endpoint。 |
函数参数,url:port。 |
s3_ak |
str |
可选 |
组件访问minio存储服务器的access key。如果调用时不输入,则默认传入None,内部会自动从环境变量ACCESS_KEY_ID中获取access key。 |
函数参数,access key字符串。 |
s3_sk |
str |
可选 |
组件访问minio存储服务器的secret key。如果调用时不输入,则默认传入None,内部会自动从环境变量SECRET_ACCESS_KEY中获取secret key。 |
函数参数,secret key字符串。 |
s3_secure |
bool |
可选 |
访问minio时是否使能https,默认值False。如果调用时不输入,则默认传入None,内部会自动从环境变量ACCESS_SECURE中获取值。开启证书认证时,可以使用环境变量SSL_CERT_FILE指定本地的证书路径。 |
函数参数:
ACCESS_SECURE环境变量使用"True"/"False"字符串代表True/False。 |
s3_certcheck |
bool |
可选 |
预留参数,当前版本暂未使用。 |
函数参数:
|
-bm/--base-model |
str |
必选 |
指定存放了预训练模型的本地路径,在增量学习整个流程中,此参数是dataprocess预处理后放在本地,传给trainer组件。 |
命令行输入参数,一个存储了训练模型的本地存储路径,如:“./input/models/base.pt”。 |
-tw/--work-url |
str |
必选 |
指定组件运行的工作目录,工作目录是一个s3路径。组件运行过程中的中间输入文件会存放在工作目录下,供其他组件或者ics-manager使用。 |
命令行输入参数,一个s3存储路径,如:“s3://inclearning/yolov5”。 |
-df/--dataset-fmt |
str |
必选 |
指定提供给用户训练脚本的数据集的格式,当前支持COCO格式,本组件支持的COCO数据集格式:数据集目录下存在两个子目录annotations和images,分别存放标注的json文件和平铺存放的jpg文件。 |
“COCO”。 |
-td/--train-datasets |
str |
必选 |
指定组件使用的训练数据集的本地存储路径,此输入数据集是dataprocess组件预处理后的数据集标注,数据集格式为增量学习自定义格式,trainer组件会自动将内部格式转换成用户通过dataset-fmt参数指定的格式,传给训练脚本。 |
命令行输入参数,一个本地存储路径,如:“./input/datasets/train”。 |
-tdd/--train-datasets-images |
str |
必选 |
指定训练数据集的图片目录的本地存储路径。 |
命令行输入参数,一个本地存储路径,如:“./input/datasets/trainimage”。 |
-ed/--eval-datasets |
str |
必选 |
指定组件使用的测评数据集的本地存储路径,此输入数据集是dataprocess组件预处理后的数据集,数据集格式为增量学习自定义格式,trainer组件会自动将内部格式转换成用户通过dataset-fmt参数指定的格式,传给训练脚本。 |
命令行输入参数,一个本地存储路径,如:“./input/datasets/eval”。 |
-edd/--eval-datasets-images |
str |
必选 |
指定测评数据集的图片目录的本地存储路径。 |
命令行输入参数,一个本地存储路径,如:“./input/datasets/evalimage”。 |
-tc/ --train-config |
str |
必选 |
指定组件使用的训练配置文件的本地存储路径目录(目录中存放一个任意名称的yaml或者json配置文件)。trainer组件会将此配置文件传递给用户注册的自定义训练脚本。 |
命令行输入参数,一个本地存储路径,如:“./input/trainconfig/”。 |
-otm/--output-train-model-artifact |
str |
必选 |
本地的一个文件夹路径,trainer组件训练后的训练模型文件将存放到此目录下面,供后面的组件使用。 |
命令行输入参数,一个本地存储路径,如“./output/models/train/”。 |
-oim/--output-infer-model-artifact |
str |
必选 |
本地的一个文件夹路径,trainer组件训练后的ONNX(Open Neural Network Exchange)文件将存放到此目录下面,供后面的组件使用。 |
命令行输入参数,一个本地存储路径,如:“./output/datasets/infer/”。 |
-sa/--standalone |
bool |
可选 |
调试使用,输入此参数,除了下载输入数据,中途可不访问s3服务,方便调试。 |
命令行输入参数:
|
-h/--help |
str |
可选 |
查看帮助信息并退出。 |
命令行输入参数,查看帮助信息并退出。 |
返回值
返回两个模型
使用样例
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()