昇腾社区首页
中文
注册

main_eval

接口功能

eval组件入口,自带命令行输入参数。

接口引用路径

ockics.entry.main_eval

接口格式

函数:main_eval(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指定本地的证书路径。

函数参数:

  • True
  • False

ACCESS_SECURE环境变量使用"True"/"False"字符串代表True/False。

s3_certcheck

bool

可选

预留参数,当前版本暂未使用。

函数参数:

  • True
  • False

-bm/--base-model

str

必选

指定存放了预训练模型的本地路径,在增量学习整个流程中,此参数是dataprocess预处理后或者trainer组件放在本地,传给eval组件。

命令行输入参数,一个存储了测评模型的本地目录存储路径,目录下存放模型文件,如:“s3://inclearning/yolov5/models/”

-tw/--work-url

str

必选

指定组件运行的工作目录,工作目录是一个s3路径。组件运行过程中的中间输入文件会存放在工作目录下,供其他组件或者ics-manager使用。

命令行输入参数,一个s3存储路径,如:“s3://inclearning/yolov5”

-df/--dataset-fmt

str

必选

指定下面传入的数据集的格式,当前支持COCO格式,本组件支持的COCO数据集格式:数据集目录下存在两个子目录annotations和images,分别存放标注的json文件和平铺存放的jpg文件。

“COCO”

-ed/--eval-datasets

str

必选

指定组件使用的测评数据集的本地存储路径,此输入数据集是dataprocess组件预处理后的数据集,数据集格式为增量学习自定义格式,trainer组件会自动将内部格式转换成用户通过dataset-fmt参数指定的格式,传给训练脚本。

命令行输入参数,一个本地存储路径,如:“./input/datasets/eval”

-edd/--eval-datasets-images

str

必选

指定测评数据集的图片目录的本地存储路径。

命令行输入参数,一个本地存储路径,如:“./input/datasets/evalimage”

-ec/--eval-config

str

必选

指定组件使用的测评配置文件的s3存储路径,配置文件支持yaml和json两种格式。此配置文件将在预处理后原封不动的传递给eval组件,eval组件的用户自定义测评脚本可以解析yaml获取用户自定义的配置信息。

命令行输入参数,一个s3存储路径,如:“s3://inclearning/yolov5/config/eval.yaml”

-ommap/--output-metric-mAP

str

必选

本地的一个文件路径,eval测评出的map metric的值以文本的形式写入此文件。

命令行输入参数,一个本地存储路径,如:“./output/data”

-sa/--standalone

bool

可选

调试使用,输入此参数,除了下载输入数据,中途可不访问s3服务,方便调试。

命令行输入参数:

  • True
  • False

-h/--help

str

可选

查看帮助信息并退出。

命令行输入参数,查看帮助信息并退出。

-m/--mode

str

必选

默认为new,用于设置评估组件是new还是old,old评估组件对训练前模型进行评估,new评估组件对训练后模型进行评估。

命令行输入参数:

  • new
  • old

返回值

返回三个浮点数,分别代表全类平均精度、精准率和召回率。

使用样例

from ockics.common import ClassFactory, ClassType
from ockics.entry import main_eval
from ockics.modules.estimator import BaseEstimator
@ClassFactory.register(ClassType.ESTIMATOR)
class Estimator(BaseEstimator):
    '''
    my own train estimator
    '''
    def eval(self, model, eval_data, eval_config_yaml) -> float:
        '''
        self defined eval implementation
        '''
        super().eval(model, eval_data, eval_config_yaml)
        print(model)
        print(eval_data)
        print(eval_config_yaml)
        return 0.565, 0.8, 0.9
if __name__ == "__main__":
    main_eval()