打包镜像

准备工作

1. 安装UAI SDK

git clone https://github.com/ucloud/uai-sdk

cd uai-sdk
sudo python setup.py install

2. 获取用户公钥和私钥

key

  • 登陆AutoAI官网,进入Console页面:https://console.ucloud.cn/dashboard
  • 点击左上角的“产品与服务”选项,选择“监控管理”列表下的“API密钥 UAPI”选项后,点击API密钥中的“显示”选项,按照提示获取用户的公钥和私钥。

准备打包所需文件

用户需将AI在线服务所需的代码以及模型文件放在某一路径下,参数pack_file_path上传。文件目录结构示例如下:

 /xxx/xxx/xxx/code (对应参数pack_file_path,绝对路径)

​    code_files1
​    code_files2
​    code_files3
​    checkpoint_dir (对应参数model_dir,相对路径)
​        model_files1
​        model_files2
​        model_files3

准备命令行工具

为后续操作方便,可将UAI SDK安装包中的命令行工具(undefined安装路径/uai_tools/uai_tool.py)拷贝到代码pack_file_path的同级目录

uai_tool.py (从undefined安装路径/uai_tools/uai_tool.py拷贝)

 /xxx/xxx/xxx/code (对应参数pack_file_path,绝对路径)
    code_files1
    code_files2
    code_files3
    checkpoint_dir (对应参数model_dir,相对路径)
        model_files1
        model_files2
        model_files3

执行packdocker命令

注:参数具体值根据实际修改

python uai_tool.py packdocker mxnet \

​        --public_key xxxxx \
​        --private_key xxxxx  \
​        --main_class MnistModel  \
​        --main_module mnist_inference  \
​        --model_dir checkpoint_dir  \
​        --pack_file_path ./code/  \
​        --uhub_username xxxxx  \
​        --uhub_password xxxxx  \
​        --uhub_registry xxxxx  \
​        --uhub_imagename mxnet-inference:test \
​        --ai_arch_v mxnet-0.9.5 \
​        --in_host no \
​        --model_name mnist-model  \
​        --num_epoch 10 
  • 公共参数说明
参数 说明 是否必需
public_key 用户的公钥
private_key 用户的私钥
project_id 项目ID
pack_file_path 待打包文件所在路径
main_module 包含主类的代码文件(不包含后缀名)
main_class 主类名称
model_dir 模型文件的路径(相对路径)
uhub_username uhub镜像库登录用户名,即AutoAI的账号邮箱
uhub_password uhub镜像库登录的密码,即AutoAI的账号密码
uhub_registry uhub镜像仓库名称,不支持大写字母
uhub_imagename 生成的镜像名称,镜像名与tag间以冒号分割。如test:v1.1
ai_arch_v 可选参数。格式为"ai框架名称-版本号",如tensorflow-1.4.0。如不填写,则默认选择系统支持的一个版本
in_uhost 优化参数。当前打包程序是否运行在AutoAI云主机中,如果是则为yes,否则为no(默认)。(注:如果运行在云主机中,则可利用内网万兆带宽,加速镜像上传下载)
model_name 模型名称
num_epoch 保存模型文件时的epoch数

注1:打包工具会在pack_file_path下面生成一个 .conf 文件,该文件是mnist inference模块加载的配置文件,该文件会连同其他文件一起被打包进在线服务镜像。 注2:打包工具会自动生成一个名为uaiservice.Dockerfile的文件,描述打包操作是如何执行的

UAI-Inference支持各版本明细

深度学习框架名称 版本名称 ai_arch_v参数填写 说明
mxnet 0.9.5 mxnet-0.9.5

输出结果

upload docker images successful. images:uhub.ucloud.cn/uai_demo/mxnet-inference:test