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.yaml
是 build
命令行的配置文件化表述。
当使用 Python SDK 方式构建 Starwhale 模型时,model.yaml
文件不生效。
YAML 字段描述
字段 | 描述 | 是否必要 | 类型 | 默认值 |
---|---|---|---|---|
name | Starwhale Model 的名字,等价于 --name 参数。 | 否 | String | |
run.modules | 模型构建时搜索的Python Moduels,可以指定多个模型运行的入口点,格式为 Python 可 Imported 路径。等价于 --module 参数。 | 是 | List[String] | |
run.handler | run.modules的曾用写法,只能指定一个模型运行的入口点,已废弃 | 否 | String | |
version | dataset.yaml格式版本,目前仅支持填写 1.0 | 否 | String | 1.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"