Modelarts 从自定义镜像导入模型发布服务的Demo

举报
HW007 发表于 2020/11/09 00:07:11 2020/11/09
【摘要】 Modelarts 从自定义镜像导入模型发布服务的 Demo

1. 【本地构建镜像】

1.1)在自己本地或远程的电脑上安装好 docker,并拉好基础镜像,如下图,以 Ubuntu18.04为例。

 

 

1.2)创建一个新的文件夹,将附件中的两个文件拷贝至该文件夹下,如下图所示,其中Dockerfile文件为我们这次自定义镜像的构建文件;xlz_app.py 文件为我们的应用服务代码,使用了 flask 框架。这两个文件中也有相关的注释,若有不理解的地方,可以在网上搜索 docker 和 flask 相关的资料学习。值得注意的是,modelarts 平台会将请求转发至自定义镜像起的服务的8080端口,故容器内的服务监听的端口必须是8080,如 xlz_app.py文件所示。

 

 

1.3)进入该文件夹,执行 “docker build -t xlz:v1 .”,构建出自定义的镜像 “xlz:v1,如下图所示:

 

 

2. 【本地验证镜像】

2.1) 在该电脑上执行命令 “docker run -it -p 8080:8080 xlz:v1”启动自定义镜像,如下图所示:

 

 

2.2) 另开一个终端,执行以下curl命令,验证该自定义镜像的的三个API接口功能是否OK,结果如下图:

curl -X POST -H "Content-Type: application/json" --data '{"name":"xulizhi sss"}'  127.0.0.1:8080/”,

curl -X POST -H "Content-Type: application/json" --data '{"name":"xulizhi sss"}'  127.0.0.1:8080/greet”,

curl -X GET 127.0.0.1:8080/goodbye

 

 

 

3. 【上传镜像到SWR】

3.1) 如上在本地验证自己构建的镜像功能OK之后,登陆华为云账号,选择SWR 服务,按服务使用说明将刚才构建的镜像传到华为云SWR上。

 

 

相关执行指令类似下图:

 

上传成功后能在SWR中看到刚刚上传的镜像,如下图所示:

 

 

4. 【创建模型】

4.1) 进入华为云Modelarts页面,进入模型管理模块

 

 

4.2) 选择从容器镜像中导入模型:

 

4.3) 选择刚才上传到SWR的自定义镜像:

 

4.4) 选择在线编辑配置文件,详细要求参考页面上相关的编写指南链接,编辑完后记得点保存,无错误提示后点立即创建。

 

Demo的配置文件如下内容如下(若觉得编写指南中的apis字段的requestresponse很难写,可以直接只声明Content-type就好,只会影响部署成服务后,服务的预测页面的展示[详见本文5.3节],不影响后台调用逻辑):

{

    "model_algorithm": "xulizhi_haha_001",

    "model_type": "Image",

    "apis": [{

        "protocol": "http",

        "url": "/",

        "method": "post",

        "request": {

            "Content-type": "application/json"

        },

        "response": {

            "Content-type": "application/json"

        }

    },

{

        "protocol": "http",

        "url": "/greet",

        "method": "post",

        "request": {

            "Content-type": "application/json"

        },

        "response": {

            "Content-type": "application/json"

        }

    },

{

        "protocol": "http",

        "url": "/goodbye",

        "method": "get",

        "request": {

            "Content-type": "application/json"

        },

        "response": {

            "Content-type": "application/json"

        }

    }

]

}

4.5) 稍等片刻,便可看到创建好的模型:

 

 

5. 【部署服务】

5.1) 在模型页面选择部署在线服务

 

5.2) 选择硬件资源规格,点击下一步,点击提交。

 

 

5.3) 稍等片刻便可看到相关的服务已经处于“运行中”状态。

 

5.4) 此外,服务界面还有一个“预测”的页签,提供给用户一个调用默认的URL为 “/”接口的界面,如下图所示:

 

 

5.5) 如上图,我们成功通过页面调通了服务的“/”接口,拿到了预期的结果。剩下的两个接口“/greet”和“/goodbye”可参考下图链接进行远程调用验证。

https://support.huaweicloud.com/engineers-modelarts/modelarts_23_0063.html

 

 

 

 

 

 

 


【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。