制作能提供推理服务的镜像
文件结构
Dockerfile
CANN包
deploy_infrence
----service.py
----opt_caption
--------infrence_service.py
--------opt_caption_graph.mindir
--------vocab.json
文件准备
Dockerfile 文件:
CANN包:参考用户手册下载需要的版本
service.py 文件
infrence_service.py文件
caption模型文件:opt_caption_graph.mindir
码表:vocab.json
将Dockerfile,CANN包和model文件夹放在同一级目录,使用如下命令编译镜像:
docker build -t test_deploy:0.0.1 . # test_deploy为镜像名,0.0.1为版本号,教程后续均以此镜像为例展示文件内容
将刚才编译好的镜像打包上传到容器镜像服务(SWR)。
修改上传服务器的配置
修改 /etc/hosts
,增加如下内容:(注:*.*.*.*
是对应的IP地址)
*.*.*.* swr-central-221.ovaijisuan
修改 /etc/docker/daemon.json
,具体内容如下(如没有此文件需手动创建):
{"insecure-registries": ["swr-central-221.ovaijisuan"]
}
重启docker让配置生效
systemctl daemon-reload
systemctl restart docker
获取登录仓库的命令
上传镜像
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
上传成功后可以在 我的镜像 - 自有镜像 下查看到刚才上传的镜像。
进入 云资源 -> ModelArts -> ModelArts控制台,以下操作均在该控制台进行。
进入 模型管理-> 模型 -> 导入
在导入模型界面中
自行指定模型名称,版本等信息。
对于 元模型来源 选项,选择 从容器镜像中选择,填入 容器镜像所在的路径 如下,也可以直接点击右边文件夹符号选择刚才上传的镜像。若无 容器调用接口 配置项,说明当前版本ModelArts不支持自定义模型启动的协议和端口号,则构建的自定义镜像必须使用http协议
swr-central-221.ovaijisuan/组织名称/test_deploy:0.0.1
{"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"}}}}}]
}
最后点击界面右下角 立即创建 即可成功导入模型,在我的模型界面中可以看到刚才创建好的模型。
进入 部署上线 -> 在线服务 -> 部署
在部署界面中:
进入 部署上线 -> 在线服务,选择刚才部署的服务
点击 调用指南 即可获取 API接口地址(用于推理请求)
点击 右上角用户名,进入 我的凭证 -> 记录【IAM用户名】;【帐号名】,即可获取账户信息用于认证
所有请求使用Postman进行测试,请安装好对应软件
修改本地host文件,加入 **.**.**.** iam-pub-central-221.huaweicloud
避免DNS问题
构造请求
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-dDKGSWAM-1657011322048)(images/get_token.png)]
{"auth": {"identity": {"methods": ["password"],"password": {"user": {"name": "【IAM用户名】","password": "【IAM用户密码】","domain": {"name": "【帐号名】"}}}},"scope": {"project": {"name": "cn-central-221"}}}
}
拿到Token
在返回体的Header中,X-Subject-Token字段的值即为Token,一般生效期为24小时,具体请参阅:ModelArts API
1. `/infer/image` 接口,按要求在Postman中填入如下请求:+ 请求方式: POST+ URL: API接口地址/infer/image+ 请求头(Header):- X-Auth-Token:"【Token】"- Content-Type: "multipart/form-data"+ 请求体(body/form-data)- file: 选择文件+ 注意:file字段需要选择为文件 
本文发布于:2024-02-02 00:16:27,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/170680985040122.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |