跳到主要内容

算法管理

算法管理维护平台内可复用的自定义算法模板。每个模板记录一个 Docker 镜像引用、一份参数 Schema 与一组资源限制;流程管理 的处理规则在匹配到数据集后,按模板在该数据集上拉起容器,把数据集挂载为只读输入,并回收运行报告与制品。

算法列表

使用前提

内容
菜单入口管理 → 流程 → 流程总览 → 「后处理算法」→ 算法库管理
备用入口流程 → 处理规则 → 运行自定义算法步骤 → 算法选择框旁的「新建」
路由/algorithms
页面权限「查看流程」
接口权限「查看训练」(列表与详情)、「创建训练任务」(新建、编辑、启停、删除)
可写范围全局算法仅管理员可写;项目算法需项目经理且对目标项目具备写权限
依赖镜像已推送至执行节点可访问的仓库;执行节点具备容器运行环境

模块权限的配置方式见 模块权限

算法定义与操作

算法字段

新建与编辑页维护以下字段。

字段类型必填默认值说明
名称文本最大 200 字符;处理规则按名称与 ID 引用
范围枚举全局全局:全平台可用;项目:仅所选项目可用
镜像引用文本registry/repo:tag 或 Docker Hub 的 repo:tag;最大 500 字符
描述文本最大 500 字符
启用开关开启关闭后处理规则无法选用该算法
参数 SchemaJSON空对象JSON Schema,用于生成运行时参数表单
资源限制JSON见下表容器资源上限

新建算法

参数 Schema

参数 Schema 描述运行时表单字段,平台据此生成参数输入控件。

取值说明
字段类型string、number、integer、boolean、array、object由 JSON Schema 定义
枚举约束enum限制可选值
默认值default运行时表单的初始值
必填项required 数组未填写时拒绝运行
数值范围minimummaximum数值型字段的上下限

示例:

{
"type": "object",
"properties": {
"threshold": { "type": "number", "title": "质量阈值", "default": 0.8, "minimum": 0, "maximum": 1 },
"mode": { "type": "string", "title": "检测模式", "enum": ["strict", "normal", "loose"], "default": "normal" },
"enable_video": { "type": "boolean", "title": "生成视频", "default": false }
},
"required": ["threshold"]
}

运行时填写的参数转换为容器命令行参数,规则为 --key value;布尔值 true 转为 --keyfalse 省略。

参数 Schema 与资源限制

资源限制

字段类型默认值说明
memory_mb数值2048内存上限,单位 MB
cpus数值1CPU 核数上限
pids_limit数值100进程数上限
timeout_seconds数值3600运行超时,单位秒
network_enabled布尔false是否允许容器访问网络

示例:

{
"memory_mb": 2048,
"cpus": 1,
"pids_limit": 100,
"timeout_seconds": 3600,
"network_enabled": false
}

镜像输入输出约定

平台以固定参数启动容器,算法镜像需按下列路径读写。

路径读写必需说明
/input/dataset.{扩展名}只读平台挂载的数据集文件,扩展名与数据集一致
/output/report.json可写运行报告,写入运行记录的 results 字段
/output/artifacts/*可写视频、图片等制品,平台上传并记录到运行记录
stdout 中的 [PROGRESS] 42 message输出平台解析为运行进度

平台固定传入 --input--output--mode 三个参数,--mode 取值为 qcpreprocess

模式行为
qc不改变原始数据,仅生成报告与制品
preprocess允许通过制品输出新文件,平台不自动替换原数据集

列表操作

操作作用约束
启用开关切换算法的启用状态关闭后处理规则不可选用
编辑修改镜像、Schema、资源限制全局算法仅管理员可编辑
删除软删除算法不可恢复;仍被处理规则引用时需先调整处理规则

约束与限制

取值说明
名称长度≤ 200 字符超长拒绝保存
描述长度≤ 500 字符超长拒绝保存
参数键名不得使用 inputoutputmode与平台固定参数冲突
列表可见范围未指定项目时,管理员可见全部,非管理员仅见全局算法项目算法需在项目中查看
镜像 tag缺省按 latest 处理建议显式指定 tag
自定义算法镜像使用算法记录中的镜像引用系统内置算法的镜像可由部署侧覆盖
退出码非 0 视为失败失败时保留 stdout/stderr 日志

失败处理

现象可能原因处置责任方
保存时提示镜像无法拉取镜像未推送,或执行节点无法访问仓库推送镜像;私有仓库在执行节点配置拉取凭证算法开发者、平台运维
非管理员保存全局算法被拒绝全局算法仅管理员可写改选项目范围并指定有写权限的项目项目经理
流程运行失败且无 report.json镜像未按约定写入 /output/report.json按输入输出约定修正镜像后重跑算法开发者
运行超时超过 timeout_seconds提高超时上限或优化算法算法开发者
参数未生效参数键与平台固定参数重名,或镜像未按 --key value 解析修改参数键名;修正镜像的参数解析方式算法开发者
项目算法在全局流程中不可选算法的项目范围与目标项目不一致选择同范围算法,或由管理员创建全局算法项目经理、管理员

相关页面

页面用途
流程管理在「运行自定义算法」动作中引用算法
数据质检质检规则的执行与结果查看
运维监控查看任务队列与运行日志