模型推理自定义镜像在线服务部署全流程教程readme

阅读: 评论:0

模型推理自定义镜像在线服务部署全流程教程readme

模型推理自定义镜像在线服务部署全流程教程readme

模型推理自定义镜像在线服务部署全流程教程

准备一个基础的自定义镜像

  1. 制作能提供推理服务的镜像

    1. 文件结构
      Dockerfile
      CANN包
      deploy_infrence
      ----service.py
      ----opt_caption
      --------infrence_service.py
      --------opt_caption_graph.mindir
      --------vocab.json

    2. 文件准备
      Dockerfile 文件:
      CANN包:参考用户手册下载需要的版本
      service.py 文件
      infrence_service.py文件
      caption模型文件:opt_caption_graph.mindir
      码表:vocab.json

1.2 镜像编译

将Dockerfile,CANN包和model文件夹放在同一级目录,使用如下命令编译镜像:

docker build -t test_deploy:0.0.1 . # test_deploy为镜像名,0.0.1为版本号,教程后续均以此镜像为例展示文件内容

1.3 镜像上传

将刚才编译好的镜像打包上传到容器镜像服务(SWR)。

  1. 修改上传服务器的配置

    • 修改 /etc/hosts,增加如下内容:(注:*.*.*.*是对应的IP地址)

      *.*.*.* swr-central-221.ovaijisuan
      
    • 修改 /etc/docker/daemon.json,具体内容如下(如没有此文件需手动创建):

      {"insecure-registries": ["swr-central-221.ovaijisuan"]
      }
      
    • 重启docker让配置生效

      systemctl daemon-reload 
      systemctl restart docker
      
  2. 获取登录仓库的命令

    • 云资源->ModelArts->镜像服务控制台->组织管理->创建组织->输入组织名称(比如使用用户名作为组织名称)
    • 云资源->ModelArts->镜像服务控制台->我的镜像->右上角客户端上传->点击step2 “生成临时登录指令” ->复制到宿主机(服务器)上执行即可登录
  3. 上传镜像

    sudo docker tag test_deploy:0.0.1 swr-central-221.ovaijisuan/组织名称/test_deploy:0.0.1
    sudo docker push swr-central-221.ovaijisuan/组织名称/test_deploy:0.0.1
    

    上传成功后可以在 我的镜像 - 自有镜像 下查看到刚才上传的镜像。

2. 拉起服务

进入 云资源 -> ModelArts -> ModelArts控制台,以下操作均在该控制台进行。

2.1 导入模型

  1. 进入 模型管理-> 模型 -> 导入

  2. 在导入模型界面中

    • 自行指定模型名称,版本等信息。

    • 对于 元模型来源 选项,选择 从容器镜像中选择,填入 容器镜像所在的路径 如下,也可以直接点击右边文件夹符号选择刚才上传的镜像。若无 容器调用接口 配置项,说明当前版本ModelArts不支持自定义模型启动的协议和端口号,则构建的自定义镜像必须使用http协议

    swr-central-221.ovaijisuan/组织名称/test_deploy:0.0.1
    
    • 对于 配置文件 选项,点击 在线编辑,填入如下配置文件内容,点击文件编辑框右上角保存。若当前版本ModelArts不支持自定义模型启动的协议和端口号,则无需指定protocol字段
    {"model_algorithm": "lenet","model_type": "Image","apis": [{"protocol": "https","url": "/health","method": "get","request": {"Content-type": "application/json"},"response": {"Content-type": "application/json","data": {"type": "object","properties": {"health": {"type": "string"}}}}},{"protocol": "https","url": "/infer/image","method": "post","request": {"Content-type": "multipart/form-data","data": {"type": "object","properties": {"file": {"type": "file"}}}},"response": {"Content-type": "application/json","data": {"type": "object","properties": {"result": {"type": "string"}}}}}]
    }
    

最后点击界面右下角 立即创建 即可成功导入模型,在我的模型界面中可以看到刚才创建好的模型。

2.2 部署服务

  1. 进入 部署上线 -> 在线服务 -> 部署

  2. 在部署界面中:

    • 自行指定服务名称等信息,资源地为公共资源地
    • 对于 选择模型及配置 选项,选择刚才创建好的模型
    • 点击右下角提交

2.3 获取相关接口

  1. 进入 部署上线 -> 在线服务,选择刚才部署的服务

  2. 点击 调用指南 即可获取 API接口地址(用于推理请求)

  3. 点击 右上角用户名,进入 我的凭证 -> 记录【IAM用户名】;【帐号名】,即可获取账户信息用于认证

3. 验证接口

所有请求使用Postman进行测试,请安装好对应软件

3.1请求Token

  1. 修改本地host文件,加入 **.**.**.** iam-pub-central-221.huaweicloud 避免DNS问题

  2. 构造请求
    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-dDKGSWAM-1657011322048)(images/get_token.png)]

    • 链接:
    • 请求body内容:
      {"auth": {"identity": {"methods": ["password"],"password": {"user": {"name": "【IAM用户名】","password": "【IAM用户密码】","domain": {"name": "【帐号名】"}}}},"scope": {"project": {"name": "cn-central-221"}}}
      }
      
  3. 拿到Token
    在返回体的Header中,X-Subject-Token字段的值即为Token,一般生效期为24小时,具体请参阅:ModelArts API

3.2开始验证(默认请求头请保留)

1.  `/infer/image` 接口,按要求在Postman中填入如下请求:+   请求方式: POST+   URL: API接口地址/infer/image+   请求头(Header):-   X-Auth-Token:"【Token】"-   Content-Type: "multipart/form-data"+   请求体(body/form-data)-   file: 选择文件+   注意:file字段需要选择为文件 ![infer_image](images/infer_image.png)

本文发布于:2024-02-02 00:16:27,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170680985040122.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:在线   自定义   镜像   模型   流程
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23