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

 

 

 

 

 

 

 


合智互联客户成功服务热线:400-1565-661

admin
admin管理员

上一篇:开发者啊开发者,你们究竟喜欢啥?
下一篇:GaussDB(DWS) 云端运维系列第四期:集群安全(SSL连接,三权分立)

留言评论

暂无留言
取消
扫码支持