【2020华为云AI实战营】利用modelarts在线部署api,实现云端推理
前言:
目前有ModelArts免费算力活动,而且【2020华为云AI实战营】等活动已经强势来袭,这也是学习AI的大好时机。
ModelArts: https://www.huaweicloud.com/product/modelarts.html
AI开发平台ModelArts是面向开发者的一站式AI开发平台,为机器学习与深度学习提供海量数据预处理及半自动化标注、大规模分布式Training、自动化模型生成,及端-边-云模型按需部署能力,帮助用户快速创建和部署模型,管理全周期AI工作流。
正文:
最近在尝试利用modelarts的访问在线部署服务的API,完成本地检测任务的云端推理和结果反馈等功能。其中API使用方法,是我在参加青年开发者AI训练营时和朋友一起讨论和摸索的结果。
工具:
首先我来跟大家分享一下我前几周的华为AI实战营第二章作业打卡1的任务:
使用FasterRCNN和yolov3算法实现人和bus的检测,具体的参考教程可以参考这个pdf,下面的图是我当时训练好的模型部署在线服务后的检测测试:
一开始由于bus和人的数据集比较小,而且区分度不是很大,所以如pdf说的那样,有一些图片检测效果不是很理想。因此我们换了更好的数据集来训练模型,最终得到的检测效果得到了不错的提升。上面俩幅图里的人的图像比例不太明显,没能很好的被检测出来,也是可以理解的。
实践:
现在我们就来聊一聊关于访问modelarts在线服务的方法了:
(1)获取token
我基本上参考的都是这里面的几篇关于token的介绍:有获取、委托以及校验token等等。建议大家参考文档介绍,因地制宜地写获取用户token的方法。
不管你是写token的哪些方面,你都不能忘记下图的几种状态码。比如你需要给出发生401状态时,你需要打印并告诉用户认证失败,请求重试的字眼。因为一个优秀的方法,需要考虑到发生各种情况时,该对应执行相应的解决办法。
(2)发送调用api的请求
既然要请求调用api,那么我们首先得需要知道api在哪?
从上图我划出的红线可以看到,当我们在modelarts里边部署成功了一个在线服务后,在调用指南页面下,会出现API的接口地址。如果你不是太懂怎么调用API的话,请仔细阅读接口调用指南,我就是参考指南一步步尝试的。
下图可以供大家参考如何编写发送api请求的方法:
哈哈,这里别忘了要留下你要登录的用户和密码(这个密码***是举例)、api链接(API接口地址,系统随机生成)以及你要上传到云端推理的各种图片的本地路径。
我图中主要有三个py文件,主要目录文件介绍:
main.py —— 主函数入口
post.py —— 发送api请求
get_token.py —— 获取用户token
token.txt —— 缓存token,避免多次重复获取,运行提示token错误时删除该文件重试
test.jpg —— 测试图片文件
大家看着写就行。
温馨提示:你测试或者使用上述方法来调用API时,别忘了启动在线服务呀,不然会出现一些莫名奇怪的错误~
以上就是我最近在做的modelarts云端推理服务的API相关经验分享啦,希望大家都能把modelarts玩出自己的风格哟!
PS:大家可以在评论区发表你的看法,让我们一起讨论这个在线服务API的更好的使用方法吧。
- 点赞
- 收藏
- 关注作者
评论(0)