通过搭建AI低代码,自动识别101种西式美食 【我的低代码AI体验】
什么是 ModelArts
ModelArts 是面向开发者的一站式 AI 平台,为机器学习与深度学习提供海量数据预处理及交互式智能标注、大规模分布式训练、自动化模型生成,及端-边-云模型按需部署能力,帮助用户快速创建和部署模型,管理全周期 AI 工作流。
它具有以下4个特性
- 低门槛:开箱即用,零基础3步即可构建AI模型
- 高效率:AI 开发全流程可视化管理,生产效率百倍提升
- 高性能:自研 MoXing 框架,极致提升开发效率和训练速度
- 易运维:灵活支持多厂商多框架多功能模型统一纳管
ModelArts 的入口
首先访问华为云官网:https://activity.huaweicloud.com/
然后依次点击“产品”—>“人工智能”—>“AI开发平台ModelArts”
什么是 AI Gallery
AI Gallery 是一个“资产集市”。通过该集市,开发者可以有偿(或无偿)的共享Notebook代码样例、数据集、算法、模型、Workflow等AI资产。
AI Gallery 的入口
在ModelArts页面,展开“功能模块”,选择 AI Gallery,即可进入相应页面
寻找所需模型
在 AI Gallery 页面,选中“资产集市”,然后点击“部署”下的“模型”按钮
在搜索框中输入“美食”,就可以找到我们今天要做的这个案例 —— 《自动识别101种西式美食》
进入该模型,可以看到详细的模型描述信息
- 背景
通过拍照识别食物种类和卡路里的功能真的很酷。而其中的核心模块,就是基于图像中的食物种类识别。 - 模型简介
这个模型可以识别101种常见的西餐美食。输入一个西餐的照片,这个模型会预测5种最可能的西餐品类,以及相应的置信度得分。这个模型使用food101数据集训练。数据集地址:https://www.vision.ee.ethz.ch/datasets_extra/food-101 - 使用方法
目前该模型支持使用ModelArts平台进行交付,订阅该模型后,你可以将该模型发送到一个指定的Region的ModelArts平台。在ModelArts平台,你可以一键式地将该模型部署成在线API服务。你也可以收集、标注并上传自己真实业务场景中的数据,对该模型进行二次调优(Fine-tune)。
点击右上角的“订阅”按钮,准备开始使用该模型
“订阅”完后,按钮会由“订阅”自动变为“已订阅”和“前往控制台”
使用 ModelArts
点击“前往控制台”按钮,云服务区域选择“华北-北京四”(这个没有要求,可以随意)
访问授权
注意:上面有一行红字提醒你,要使用该服务,必须先进行授权:“由于ModelArts的数据存储、模型导入以及部署上线等功能依赖OBS、SWR等服务,需获取依赖服务的授权后,才能正常使用ModelArts的相关功能”
根据提示,点击链接可以进入到授权页。页面上提示你 “暂无赋予ModelArts的委托,请切换至“新增委托”选项进行访问授权配置”,按照提示,切换到“新增委托”选项
使用默认的“普通用户”即可,然后勾选“服务声明”,最后点击“创建”按钮,创建“访问授权”
创建好后,会自动跳转到“总览”页面
部署模型
在左侧选项卡中,依次选中“AI应用管理”—>“AI应用”,然后切换至“我的订阅”选项卡
在前面订阅的资产《自动识别101种西式美食》左侧,单击展开详情,点击右下角的“部署”按钮,然后点击“在线服务”
填入“名称”和“描述”,然后勾选“我已阅读并同意以上内容”即可进行下一步
确认信息后,点击“提交”
提示“任务提交成功”
这个部署时间会有点久,大概要5分钟左右,状态才会变为“部署成功”
预测图片信息
右边的“更多”按钮里面,藏的是“停止”和“删除”按钮
部署的这个服务,一共有5种操作
- 修改
- 预测
- 启动
- 停止
- 删除
免费算力资源部署的服务运行1小时后,就会自动停止,停止后需要删除已有服务并重新部署,否则会启动失败
部署完成后,点击应用名称,可以看到其接口(POST类型)和详细的调用方式(输入参数只有一个图片文件;输出最有可能的物品标签和各种可能的得分情况)
在预测页面,上传图片,点击预测,右边即会出现可能的食品标签,及各个不同食品概率的可能性 (我传的图片成功被预测出是 —— 蛋挞)
监控信息页面会显示当前CPU、内存、GPU的使用情况
获取访问密钥
登录华为云后,点击右上角的账号处,然后在下拉框中选择“我的凭证”
出于安全性考量,华为云规定了“访问密钥”生成后只能被下载一次
如果还没创建过“访问密钥”,点击“新增”按钮进行创建(输入密钥的描述信息即可)
点击下载按钮,它会下载一个 credentials.csv
这里面就存着你的账号,还有AK/SK
使用示例安装包创建 AppCube 应用
进入 AppCube
AppCube的入口在华为云官网,依次点击“产品”—>“开发与运维”—>“应用魔方 AppCube”
应用魔方的首页地址为:https://www.huaweicloud.com/product/appcube.html
点击“进入首页”按钮
下载软件压缩包
软件压缩包的地址为:https://appcube-ai-temp.obs.cn-north-4.myhuaweicloud.com/CNAMEO__EI-0.0.1-beta.zip
安装包是一个zip文件,内容如下
导入安装包
在左侧,切换到“应用”选项卡,然后点击右侧的“导入”按钮,导入前面下载的压缩包
安装成功后,下面会显示一个名为“EI”的项目
创建 ModelArts 连接器
创建连接器
在刚刚创建的 EI 项目右侧,点击“编辑”按钮,然后选择“体验新版设计器”
第一次使用会要求你创建一个名空间(只能由字母和数字组成)
依次点击左侧“集成”—>“连接器实例”
类型选择“ModelArts”
这里默认已经为我们创建好了一个与ModelArts的连接:ma__food_reg,我们只要修改“访问密钥AK”和“密钥SK”
测试连接
修改好后,下面会出现“测试”按钮
在弹出的对话框中,可供选择的类型有3种
- 图片URL
- 图片文件
- 文本信息
以下两个参数要回到 ModelArts 页面去获取
- 模型 Apig-Code:ModelArts在线服务中API接口中 .apig前面的部分,不包含https://
- 模型 ID:ModelArts 在线服务中 API 接口中最后一个斜杠 (/) 后面的部分
例如我这里API接口地址为:https://b346df3b35e44f7fa088f9ac4b3b3502.apig.cn-north-4.huaweicloudapis.com/v1/infers/f39dbb0d-c079-4994-8d49-108d50cd88d6
那么这两个参数就是
- 模型 Apig-Code:b346df3b35e44f7fa088f9ac4b3b3502
- 模型 ID:f39dbb0d-c079-4994-8d49-108d50cd88d6
注意:重新部署后,模型 Apig-Code不会变,但模型 ID会发生改变
我从百度上面找了一个汉堡图片的地址:https://img1.baidu.com/it/u=3410454152,1984472408&fm=253&fmt=auto&app=138&f=JPEG?w=600&h=400
在测试对话框中依次填入所有参数,如下
点击“测试”按钮,它会开始进行预测,并显示出大概率是什么食物,以及其它可能性的概率
应用修改
修改脚本
在AppCube的左侧面板中单击“逻辑”按钮,然后依次选中“脚本”—>“Page”—> CNAMEO__EI
点击脚本后,会呈现一个编辑器页面,页面中就是对应脚本文件的代码了
let client = modelarts.newClient("ma__food_reg")
newClient里面传的参数,就是我们刚刚 Model Arts连接器的名称
配置demo页
在AppCube的左侧面板中单击“页面”按钮,然后选择“demo”页面
该页面需要先锁定,方可进行编辑。首先点击左上角“获取锁”按钮,此时左侧会弹出一个“基本组件”
在页面下方,切换到“事件视图”选项卡,然后选中第三个事件“uploa_on-success_upload_0”,在右侧“JS代码”面板中,修改“apigCode”和“modelId”这两个参数。
在“模型视图”中可以看到,该demo已经将全部模型绑定到视图中的对应控件上了,不需要我们去人工修改。绑定的方式类似Vue的view-bind方式(一旦数据有变,自动修改控件内容)
注意:修改完代码后,一定要点击这个“保存”按钮,否则修改不会生效!!! 这里可以额外加个console.log
函数,把这两个变量打印出来,如下图
最后,点击预览按钮(快捷键Alt+Shift+V)即可看到实际发布后的页面了
点击上传图片后,下面就会出现对应的预测结果了
使用F12查看日志,可以看到返回的预测结果参数,还有我们刚刚额外加的,打印“apigCode”和“modelId”这两个参数的日志
遇到问题
如果点击预览没有任何反应,尝试按下F12,进入开发者模式,查看日志打印,就可以发现错误。例如,这里提示我“模型Apig-Code不允许特殊字符,请重新填写”
response Object {
errCode: "AppCube-233187",
resCode: "405233187",
resMsg: "模型Apig-Code不允许特殊字符,请重新填写"
}
xcloud.js:25:13
这是由于我在修改JS代码后,没有点击工具栏上的“保存”按钮,就直接开始预览了。因此,切记修改代码后一定要点保存(AppCube并不会自动保存代码)
部署 & 发布
点击页面上方的“发布”按钮,然后选择一键部署,可以直接将项目部署到华为云服务器上
选择“安装包”,可以将应用一键打包
然后填入应用描述
点击“打包设置”,可以设置如下3个内容
- 版权设置
- 出厂数据
- 动作设置
点击“立即打包”,会在左下角出一个进度条,上面标明了打包进度
打包完成后,你可以进行如下3种操作
- 部署
- 下载
- 详情
详情页会显示包的详细信息
点击下载,可以看到,下载的安装包与我们本次实验所用的安装包是相同格式的
总结
- 华为云的Model Arts里面有一个AI模型的应用商店,我们可以从中挑选需要的AI模型,无需掌握复杂的建模知识,拿来即用,开箱即用
- AppCube可以帮助我们使用低代码或者零代码,通过拖拉控件绑定变量的方式,简单快速的开发应用
- AppCube提供了连接器,可以直接连上Model Arts构建低代码AI应用。只需要修改“apigCode”和“modelId”参数,便可快速实现一个你自己自定义的低代码AI应用了,效率很高,效果非常棒
- 部署和发布,都有非常简洁易用的UI界面,对于懒人还支持了一键部署,只要购买了云服务器,就能一键上云,简直太方便好用了
【万众瞩目的低代码AI应用开发实战营来啦!开启实战营之旅(免费体验),写体验文章,赢开发者大礼包!】有奖征文火热进行中:https://bbs.huaweicloud.com/blogs/384262
- 点赞
- 收藏
- 关注作者
评论(0)