跳到主要内容
版本:0.6.8

model.yaml 使用指南

提示

model.yaml 对于 swcli model build 构建模型的过程是非必要的。

Starwhale Model 构建时,若使用 swcli model build 命令,可以通过 --model-yaml 参数指定符合特定格式的yaml文件,简化模型构建的参数指定。

即使不指定 --model-yaml 参数,swcli model build 也会自动寻找 ${workdir} 目录下的 model.yaml 文件,会提取其中的参数。swcli model build 命令行中指定参数优先级大于 model.yaml 中的等价配置,可以认为 model.yamlbuild 命令行的配置文件化表述。

当使用 Python SDK 方式构建 Starwhale 模型时,model.yaml 文件不生效。

YAML 字段描述

字段描述是否必要类型默认值
nameStarwhale Model 的名字,等价于 --name 参数。String
run.modules模型构建时搜索的Python Moduels,可以指定多个模型运行的入口点,格式为 Python 可 Imported 路径。等价于 --module 参数。List[String]
run.handlerrun.modules的曾用写法,只能指定一个模型运行的入口点,已废弃String
versiondataset.yaml格式版本,目前仅支持填写 1.0String1.0
desc数据集描述信息,等价于 --desc 参数。String

使用示例

name: helloworld
run:
modules:
- src.evaluator
desc: "example yaml"

名称为 helloworld 的 Starwhale 模型,搜索 swcli model build {WORKDIR} 命令中 ${WORKDIR} 目录相对的 src/evaluator.py 文件中被 @evaluation.predict, @evaluation.evaluate@handler 修饰的函数, 或继承自 PipelineHandler 的类,这些函数或类会被加入 Starwhale 模型可运行的入口点列表中,在 swcli model run 或 Web UI 运行时,选择对应的入口点(handler)运行模型。

model.yaml 是非必要的,yaml 中定义参数可以在 swcli 命令行参数中指定。

swcli model build . --model-yaml model.yaml

等价于:

swcli model build . --name helloworld --module src.evaluator --desc "example yaml"