AI开发平台MODELARTS-使用案例:使用自定义镜像+OBS的方式注册模型

时间:2024-04-25 11:39:42

使用自定义镜像+OBS的方式注册模型

import modelarts.workflow as wf
# 通过ModelStep来定义一个模型注册节点,输入来源于自定义镜像地址

# 定义镜像数据
swr = wf.data.SWRImagePlaceholder(name="placeholder_name")

# 定义OBS模型数据
model_obs = wf.data.OBSPlaceholder(name = "obs_placeholder_name", object_type = "directory" ) # object_type必须是file或者directory

# 定义模型名称参数
model_name = wf.Placeholder(name="placeholder_name", placeholder_type=wf.PlaceholderType.STR)

model_registration = wf.steps.ModelStep(
    name="model_registration",  # 模型注册节点的名称,命名规范(只能包含英文字母、数字、下划线(_)、中划线(-),并且只能以英文字母开头,长度限制为64字符),一个Workflow里的两个step名称不能重复
    title="模型注册",  # 标题信息
    inputs=[
        wf.steps.ModelInput(name="input",data=swr), # ModelStep的输入在运行时配置;data字段的值也可使用wf.data.SWRImage(swr_path="fake_path")表示
        wf.steps.ModelInput(name="input",data=model_obs) # ModelStep的输入在运行时配置;data字段的值也可使用wf.data.OBSPath(obs_path="fake_obs_path")表示
    ], 
    outputs=wf.steps.ModelOutput(
        name='model_output',
        model_config=wf.steps.ModelConfig(
            model_name=model_name, 
            model_type="Custom",
            dynamic_load_mode="Single"
        )
    )# ModelStep的输出
)

workflow = wf.Workflow(
    name="model-step-demo",
    desc="this is a demo orkflow",
    steps=[model_registration]
)
support.huaweicloud.com/workflow-modelarts/modelarts_workflow_0388.html