文档首页 > > AI工程师用户指南> 模型包规范> 模型包规范介绍

模型包规范介绍

分享
更新时间: 2019/11/07 GMT+08:00

在模型管理导入模型时,如果是从OBS或容器镜像中导入元模型,则需要符合一定的模型包规范。

  • 模型包里面必须包含“model”文件夹,“model”文件夹下面放置模型文件,模型配置文件,模型推理代码。
  • 模型配置文件必需存在,文件名固定为“config.json”, 有且只有一个,模型配置文件编写请参见模型配置文件编写说明
  • 模型推理代码文件可选,如果需要文件名固定为“customize_service.py”, 且只能有一个,模型推理代码编写请参见模型推理代码编写说明

ModelArts针对多种引擎提供了样例及其示例代码,您可以参考样例编写您的配置文件和推理代码,详情请参见ModelArts样例列表。ModelArts也提供了常用AI引擎对应的自定义脚本示例,请参见自定义脚本代码示例

模型包示例

  • TensorFlow模型包结构

    发布该模型时只需要指定到“ocr”目录。

    OBS桶/目录名
    |── ocr
    |   ├── model 必选: 固定子目录名称,用于放置模型相关文件
    |   │   ├── <<自定义python包>>  可选:用户自有的Python包,在模型推理代码中可以直接引用
    |   │   ├── saved_model.pb 必选: protocol buffer格式文件,包含该模型的图描述
    |   │   ├── variables  对*.pb模型主文件而言必选;固定子目录名称,包含模型的权重偏差等信息
    |   │   │   ├── variables.index 必选
    |   │   │   ├── variables.data-00000-of-00001 必选
    |   │   ├──config.json 必选:模型配置文件,文件名称固定为config.json, 只允许放置一个
    |   │   ├──customize_service.py 可选:模型推理代码,文件名称固定为customize_service.py, 只允许放置一个,customize_service.py依赖的py文件可以直接放model目录下
  • MXNet模型包结构

    发布该模型时只需要指定到“resnet”目录。

    OBS桶/目录名
    |── resnet
    |   ├── model 必选: 固定子目录名称,用于放置模型相关文件
    |   │   ├── <<自定义python包>>  可选:用户自有的Python包,在模型推理代码中可以直接引用
    |   │   ├── resnet-50-symbol.json 必选,模型定义文件,包含模型的神经网络描述
    |   │   ├── resnet-50-0000.params 必选;模型变量参数文件,包含参数和权重信息
    |   │   ├──config.json 必选:模型配置文件,文件名称固定为config.json, 只允许放置一个
    |   │   ├──customize_service.py 可选:模型推理代码,文件名称固定为customize_service.py, 只允许放置一个,customize_service.py依赖的py文件可以直接放model目录下
  • Image模型包结构

    发布该模型时只需要指定到“resnet”目录。

    OBS桶/目录名
    |── resnet
    |   ├── model  必选: 固定子目录名称,用于放置模型相关文件
    |   │  ├──config.json 必选:模型配置文件(需要配置swr镜像地址),文件名称固定为config.json, 只允许放置一个
  • pyspark模型包结构

    发布该模型时只需要指定到“resnet”目录

    OBS桶/目录名
    |── resnet
    |   ├── model  必选: 固定子目录名称,用于放置模型相关文件
    |   │  ├── <<自定义Python包>>  可选:用户自有的Python包,在模型推理代码中可以直接引用
    |   │  ├── spark_model 必选: 模型文件夹,包含pyspark保存的模型内容
    |   │  ├──config.json 必选:模型配置文件,文件名称固定为config.json, 只允许放置一个
    |   │  ├──customize_service.py  可选:模型推理代码,文件名称固定为customize_service.py, 只允许放置一个,customize_service.py依赖的py文件可以直接放model目录下
  • PyTorch模型包结构

    发布该模型时只需要指定到“resnet”目录。

    OBS桶/目录名
    |── resnet
    |   ├── model  必选: 固定子目录名称,用于放置模型相关文件
    |   │  ├── <<自定义Python包>>  可选:用户自有的Python包,在模型推理代码中可以直接引用
    |   │  ├── resnet50.pth 必选,pytorch模型保存文件,保存为“state_dict”,存有权重变量等信息。
    |   │  ├──config.json 必选:模型配置文件,文件名称固定为config.json, 只允许放置一个
    |   │  ├──customize_service.py  可选:模型推理代码,文件名称固定为customize_service.py, 只允许放置一个,customize_service.py依赖的py文件可以直接放model目录下
  • Caffe模型包结构
    用户发布该模型时只需要指定到 “resnet”目录
    OBS桶/目录名
    |── resnet
    |   |── model  必选: 固定子目录名称,用于放置模型相关文件
    |   |   |── <<自定义python包>>  可选:用户自有的Python包,在模型推理代码中可以直接引用
    |   |   |── deploy.prototxt 必选,caffe模型保存文件,存有模型网络结构等信息
    |   |   |── resnet.caffemodel 必选,caffe模型保存文件,存有权重变量等信息
    |   |   |── config.json 必选:模型配置文件,文件名称固定为config.json, 只允许放置一个
    |   |   |── customize_service.py  可选:模型推理代码,文件名称固定为custom_service.py, 只允许放置一个,customize_service.py依赖的py文件可以直接放model目录下
  • XGBoost模型包结构
    用户发布该模型时只需要指定到 “resnet”目录
    OBS桶/目录名
    |── resnet
    |   |── model  必选: 固定子目录名称,用于放置模型相关文件
    |   |   |── <<自定义python包>>  可选:用户自有的Python包,在模型推理代码中可以直接引用
    |   |   |── *.m必选: 模型文件,命名以.m结尾
    |   |   |── config.json 必选:模型配置文件,文件名称固定为config.json, 只允许放置一个
    |   |   |── customize_service.py  可选:模型推理代码,文件名称固定为custom_service.py, 只允许放置一个,customize_service.py依赖的py文件可以直接放model目录下
  • Scikit_Learn模型包结构
    用户发布该模型时只需要指定到 “resnet”目录
    OBS桶/目录名
    |── resnet
    |   |── model  必选: 固定子目录名称,用于放置模型相关文件
    |   |   |── <<自定义python包>>  可选:用户自有的Python包,在模型推理代码中可以直接引用
    |   |   |── *.m必选: 模型文件,命名以.m结尾
    |   |   |── config.json 必选:模型配置文件,文件名称固定为config.json, 只允许放置一个
    |   |   |── customize_service.py  可选:模型推理代码,文件名称固定为custom_service.py, 只允许放置一个,customize_service.py依赖的py文件可以直接放model目录下
分享:

    相关文档

    相关产品

文档是否有解决您的问题?

提交成功!

非常感谢您的反馈,我们会继续努力做到更好!

反馈提交失败,请稍后再试!

*必选

请至少选择或填写一项反馈信息

字符长度不能超过200

提交反馈 取消

如您有其它疑问,您也可以通过华为云社区问答频道来与我们联系探讨

跳转到云社区