训练完成后,可先创建本地模型,在本地调试完成后再部署到推理服务上。推荐使用 tensorflow_mlp_mnist_local_mode案例学习,单击如下链接直接进入ModelArts使 用。
Run in ModelArts
示例代码
在ModelArts notebook平台中,Session鉴权无需输入鉴权参数。其它平台的Session 鉴权请参见Session鉴权。
步骤1 将自定义的推理文件和模型配置文件保存在训练生成的模型文件目录下。如训练生成 的模型保存在“/home/ma-user/work/tensorflow_mlp_mnist_local_mode/train/
model/”中,则推理文件“customize_service.py”和模型配置文件“config.json”也 保存在该目录中。
步骤2 创建模型运行的conda虚拟环境。
from modelarts.environment import Environment env = Environment("tensorflow_mlp_mnist")
cd = CondaDependencies.create(pip_packages=["tensorflow==1.13.1", "Pillow>=8.0.1"], conda_packages=["python=3.6.2"])
env.conda = cd
步骤3 创建本地模型。
from modelarts.model import Model session = Session()
src_local_path = "/home/ma-user/work/tensorflow_mlp_mnist_local_mode/train/"
model = Model(session, publish=False,
source_location_type="LOCAL_SOURCE", # 模型文件位置类型,
source_location=src_local_path + 'model', # 模型文件位置 environment=env,
model_version='1.0.1',
model_type='TensorFlow', # 模型使用的AI框架 model_algorithm="image_classification",
model_name="tensorflow_mlp_mnist_local_infer")
本地模型创建好后,可以参见服务调试部署为本地服务。
步骤4 本地模型创建完,可以调用接口发布模型。
Successfully upload file /home/ma-user/work/tensorflow_mlp_mnist_local_mode/train/model to OBS modelarts-cn-north-4-08aae033/model-0107-224502
session 是 Object 会话对象,初始化方法见Session鉴权。
model_nam
tion_type 否 String 模型位置类型。可选值:
● OBS_SOURCE:source_location为OBS路
参数 是否 必选
参数类型 描述
environme
nt 否 Environme
nt实例 描述模型正常运行需要的环境,如使用的
version 否 String 来源训练作业的版本,模型是从训练作业产生的 可填写,用于溯源;如模型是从第三方元模型导 入,则为空,默认值为空。
source_type 否 String 模型来源的类型,当前仅可取值auto,用于区 分通过自动学习部署过来的模型(不提供模型下 载功能);用户通过训练作业部署的模型不设置 此值。默认值为空。
model_type 是 String 模型类型,取值为:TensorFlow/MXNet/
Spark_MLlib/Scikit_Learn/XGBoost/
description 否 String 模型描述信息,不超过100个字符,且不能包含 特殊字符!<>=&’”。
execution_c
ode 否 String 存放执行脚本的OBS路径。推理脚本必须放于模 型所在路径(请参见“source_location”参数)
ams 否 params结 构数组
es 否 dependen cy结构数
表8-2 Environment 参数说明
参数 是否必
选
类型 说明
name 是 String 环境名称。
conda 否 CondaDepend
encies conda环境,具体请参见表8-3。
表8-3 CondaDependencies 参数说明
参数 是否必
选
类型 说明
channels 否 List python包的下载源。
pip_packages 否 List conda虚拟环境需要使用的 python包,如tensorflow,
pillow等。
conda_packages 否 List conda虚拟环境需要使用的conda 包,如指定python版本。
表8-4 params 结构
参数 是否
必选 参数类型 描述
url 是 String 模型推理接口的请求路径。
param_name 是 String 参数名,不超过64个字符。
param_type 是 String JSON Schema基本参数类型,有string、
object、array、boolean、number、integer。
min 否 Double 当param_type为int或float时,可选填,默认为 空。
max 否 Double 当param_type为int或float时,可选填,默认为 空。
param_desc 否 String 参数描述,不超过100个字符,默认为空。
表8-5 dependency 结构
参数 是否
必选
参数类型 描述
installer 是 String 安装方式,当前只支持“pip”。
参数 是否 必选
参数类型 描述
packages 是 package结 构数组
依赖包集合。
表8-6 package 结构
参数 是否
必选
参数类型 描述
package_nam
e 是 String 依赖包名称。
package_versi
on 否 String 依赖包版本。
restraint 否 String 版本过滤条件,当且仅当package_version存在 时必填。取值为:
● EXACT:等于给定版本
● ATLEAST:不小于给定版本
● ATMOST:不大于给定版本
表8-7 创建模型返回参数说明
参数 是否
必选
参数类型 描述
model 是 Model对 象
模型对象,可以调用本章节模型管理的所有接 口。