华为云ModelArts+AppCube低代码AI应用开发:识别101种西式美食完整体验【我的低代码AI体验】

举报
Yeats_Liao 发表于 2022/12/27 09:53:55 2022/12/27
【摘要】 一、项目介绍 1.系统流转逻辑本教程按照以下系统流转逻辑进行编写,理解下图有助于理解本文 2.自动识别101种西式美食介绍这个模型可以识别101种常见的西餐美食。输入一个西餐的照片,这个模型会预测5种最可能的西餐品类,以及相应的置信度得分。目前该模型支持使用ModelArts平台进行交付,订阅该模型后,你可以将该模型发送到一个指定的Region的ModelArts平台。在Model...

一、项目介绍

1.系统流转逻辑

本教程按照以下系统流转逻辑进行编写,理解下图有助于理解本文

在这里插入图片描述

2.自动识别101种西式美食介绍

这个模型可以识别101种常见的西餐美食。输入一个西餐的照片,这个模型会预测5种最可能的西餐品类,以及相应的置信度得分。

在这里插入图片描述

目前该模型支持使用ModelArts平台进行交付,订阅该模型后,你可以将该模型发送到一个指定的Region的ModelArts平台。在ModelArts平台,你可以一键式地将该模型部署成在线API服务。你也可以收集、标注并上传自己真实业务场景中的数据,对该模型进行二次调优(Fine-tune)。

3.前提条件

项目需在华为云上进行,需要使用华为云账号进行登录并完成实名认证,用 Chrome 浏览器完成相关操作。

二、AI Gallery 订阅模型及部署

1.订阅模型

从AI Gallery 访问需要订阅的模型,本次以《自动识别101种西式美食》为例,点击订阅按钮,勾选同意声明,点击确定订阅

在这里插入图片描述
订阅成功后,点击前往控制台

在这里插入图片描述

云服务区域选择华北-北京四

在这里插入图片描述

2.部署模型

自动跳转到 ModelArts 控制台的 AI 应用订阅界面,查看到订阅的模
型,等模型同步完成后,点击右下角的部署按钮,选择在线服务

在这里插入图片描述
在这里插入图片描述

进入在线服务配置页面,配置示例:

  • 名称:服务的名称,根据你设置或保持默认
  • 计算节点规格:运行服务所用的计算资源(CPU/GPU),这里选择ModelArts提供的免费的算力规格,但注意一个账户下同时只能有一个免费规格的在线服务,如果无法选择,说明您之前部署过免费规格的服务,需要删除之前的才能继续使用

勾选同意声明后,点击下一步

在这里插入图片描述

确认服务配置,点击提交即可进入模型部署状态

在这里插入图片描述

点击查看服务详情,进入服务部署详情页面,等待部署完成大约需要5-10分钟

在这里插入图片描述

部署完成后,即可看到本服务的API接口地址服务ID,后续创建连接器时会用到

在这里插入图片描述

注意:免费算力资源部署的服务当前运行1小时后会自动停止,停止后需要删除已有服务并重新部署(重复上面步骤),否则会启动失败哦

ModelArts 控制台点击左侧【部署上线】菜单,再点击【在线服务】即可看到所有已部署的服务,并可对他们进行管理,如启动,停止,删除等。

三、获取访问秘钥

点击右上角的用户名,在下拉菜单中选择我的凭证,选择左侧的访问秘钥菜单

点击新增访问秘钥,按要求输入相关信息,有时候会有一个弹出框进行短信验证码认证,认证成功后即可下载秘钥信息

在这里插入图片描述
在这里插入图片描述

下载后是一个名为“credentials.csv”的文件,里面有AK和SK

在这里插入图片描述

在这里插入图片描述

四、创建 AppCube 应用

操作前请先下载示例安装包:点击下载

在这里插入图片描述

访问 AppCube 控制台,点击管理

在这里插入图片描述

上传刚下载的安装包

在这里插入图片描述
在这里插入图片描述

上传成功后返回首页,可以看到刚刚导入的应用“EI”
在这里插入图片描述

五、创建 ModelArts 连接器

点击EI项目后进入应用编辑页面,点击左侧连接器,在AI分类下找到 ModelArts 选项,点击右侧的+号,新建一个连接器

在这里插入图片描述

项目连接器设置默认都是配置好了,下面做参数说明

  • 名称:对连接器的命名,根据自己的偏好设置
  • 访问秘钥 ID:获取访问秘钥中下载的excel中Access Key Id字段对应的值
  • 访问秘钥:获取访问秘钥中下载的excel中Secret Access Key字段对应的值
  • 区域:请选择“华北-北京四”
  • 项目ID:ModelArts 在线服务页面中的服务 ID (可在 ModelArts在线服务中获取)

在这里插入图片描述

点击上图中的“测试”按钮进行调用测试,看是否配置成功,参数选项如下:

在这里插入图片描述

  • 选择类型:图片的调用方式,本地上传和直接给图片 URL 都支持
  • 模型 Apig-Code:ModelArts 在线服务中 API 接口中 .apig 前面的部分,不包含https://
  • 模型 ID:ModelArts 在线服务中的 API 接口中最后一个斜杠(/) 后面的部分
  • URL:你要进行测试的图片地址,图片当前仅支持 jpg、png 格式

在这里插入图片描述

参考下图红框区域,将代码中的 apigCode 和 modelId 对应的值替换为你在在线服务ModelArts在线服务 API 接口中的参数和服务ID

在这里插入图片描述

填写完成后点击测试,如果成功即可获得 ModelArts 服务接口返回的JSON返回值

在这里插入图片描述

六、连接 OBS 服务

新建一个OBS服务连接器

在这里插入图片描述

项目中连接器设置:

  • 名称:对OBS的命名,根据自己的偏好设置
  • 鉴权方式:AK/SK
  • 访问秘钥:获取访问秘钥中下载的excel中Access Key Id字段对应的值
  • 秘钥:获取访问秘钥中下载的excel中Secret Access Key字段对应的值

在这里插入图片描述

创建桶完成后点击访问安全设置,保存相关AK/SK

在这里插入图片描述

接下来进行桶测试,在桌面创建一个测试文本文件

在这里插入图片描述

点击右侧第一个按钮OBS测试,上传刚创建好的测试文本文件,测试的时候只能选择一个 Text 文件

在这里插入图片描述

显示上传成功即可,此时桶中已有刚上传的文件

在这里插入图片描述

七、AppCube 页面开发

1.开发前注意事项

页面被锁定:锁定状态无法编辑(点击锁头按钮后可进入解锁状态),解锁状态可进行编辑

在这里插入图片描述

页面未保存状态:未保存状态下,改动不会生效,强行关闭会导致未保存的改动失效

页面保存状态:点击保存按钮(或使用键盘 Ctrl+S 的组合键位)可保存代码

在这里插入图片描述

2.创建脚本

项目中默认已经创建好相关脚本,不在需要我们做改动,以下做创建说明

脚本未启用状态:未启用的脚本可以进行代码编写,但是无法正常运行

脚本启用状态:启用的脚本可以正常运行,但是无法进行编辑

在 APPCube 应用编辑页面,创建一个脚本

在这里插入图片描述

下图为启用状态,可点击关闭启用,进入编辑状态

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

红框部分,根据实际创建的服务填写,也就是创建ModelArts连接器时你输入的名称

在这里插入图片描述

3.创建标准页面

项目中默认已经创建好相关页面,不在需要我们做改动,以下做创建说明

参考创建脚本,创建标准页面

在这里插入图片描述

4.创建上传组件

在这里插入图片描述

点击上传组件,在右侧有可配置选项

  • 存储:点击最右侧设置按钮,在弹框中选择创建的OBS连接器(即创建的OBS连接器的名称),选择后点击确定按钮
  • 文件数量:设置为1
  • 宫格:勾选上,设置为开启状态

在这里插入图片描述

在这里插入图片描述

5.创建模型视图

新建模型:点击下方的模型视图,切换到当前页面,点击新建模型按钮

在这里插入图片描述

  • 设置模型名称为:data,点击下一步

在这里插入图片描述

  • 点击右上方的新增节点

在这里插入图片描述

  • 双击红框位置,输入名称:postData,选择 any 类型
  • 在 postData 下新增节点 data1(点击 postData 右侧的新增节点按钮),字段类型为any

在这里插入图片描述

  • 在 data1 下新增两个节点,名称分别为name、num,字段类型Text

在这里插入图片描述

  • 在 postData 下,依次新增节点 data2、data3、data4、data5
  • 并仿照 data1新增两个节点,分别name、num,字段类型不变
  • 在data下,新增节点 isShow,字段类型为 Bool
  • 在data下,新增节点 image,字段类型不变

效果如下图所示:(其中 data3、data4、data5 展开后,格式与 data1 类似)

在这里插入图片描述

6.绑定组件属性

点击下一步,完成创建即可,回到设计视图

  • 为上传组件绑定模型,点击右侧属性绑定的设置按钮,绑定 image,点击确定

在这里插入图片描述

完成后,从左侧拖动五个输入框组件到上传组件下方,依次为每个输入框组件绑定标签

  • 点击属性值绑定的右侧+按钮,选择下拉框中的“标签”后点击右侧设置按钮

在这里插入图片描述

  • 在弹框中选择 data1 的 name,其他四个输入框组件绑定标签,绑定字段依次为data2、data3、data4、data5 的 name
  • 在右侧“数据绑定”处给五个输入框依次绑定 data1、…、data5 的 num

在这里插入图片描述

  • 在右侧配置处,给五个输入框依次开启“禁用”,给五个输入框依次绑定“隐藏”属性为 isShow

在这里插入图片描述

7.创建组件与页面事件

创建“上传成功事件”:双击上传组件上,点击右侧 事件菜单,点击操作成功右侧+号,进入代码编辑页面

let arr = $model.ref('data').getData().image
let originalUrl = "变量1" + arr[0].originalUrl
let data ={
url: originalUrl,
apigCode: "95b94b723a8b418f901c12b72e48a798",
modelId: "37c8ad89-7390-4006-a407-bd925f90d08a"
}
//变量2为脚本名称,根据自己设置的脚本名称正确填写
var _script = context.script('变量2').run(data).then(function(response) {
// TODO: Your business logic
console.log("response",response)
if(response.resCode==='0'){
$model.ref('data').setValue('isShow', false);
}
let scores = response.result.value.scores
let postData = {
data1:{'name':scores[0][0],'num':scores[0][1]},
data2:{'name':scores[1][0],'num':scores[1][1]},
data3:{'name':scores[2][0],'num':scores[2][1]},
data4:{'name':scores[3][0],'num':scores[3][1]},
data5:{'name':scores[4][0],'num':scores[4][1]},
}
$model.ref('data').setValue('postData',postData);
});

在这里插入图片描述

在这里插入图片描述

创建数据改变事件

$model.ref('data').setValue('postData', {});
$model.ref('data').setValue('isShow', true);

在这里插入图片描述

创建页面加载事件,在下方选择设计视图之后,在右侧为页面添加加载事件

$model.ref('data').setValue('isShow', true);

在这里插入图片描述

进入样式代码试图,对页面进行简单优化,依次为输入框组件,添加样式类

.wd-35{
width:35%;
}

在这里插入图片描述
在这里插入图片描述

最后点击保存按钮后,点击预览按钮

在这里插入图片描述

进入预览页面后,可以上传图片查看结果,上传前:

在这里插入图片描述

上传且调用成功后(调用时,ModelArts必须在运行状态):

在这里插入图片描述

在这里插入图片描述

八、 发布页面

在AppCube低代码平台中,编译发布应用主要包括如下三步。

1.属性设置

在应用中,单击左下角的,选择设置

请根据实际用途设置需要编译的应用包类型(资产包、源码包)以及相关组件的属性(例如是否组件代码受保护、是否只读可写等)

在这里插入图片描述

2.编译

设置完成后,单击左下角的图标,选择编译,启动应用编译。如果编译错误,则需要对错误组件进行修复,完成后才可进行下一步

在这里插入图片描述
在这里插入图片描述

3.打包发布

发布到“我的仓库”主要用于后续的沙箱环境测试和生产环境运行

发布到其他平台主要用于应用分享和商业用途

编译(资产包)完成后,选择发布源码包方式,编译类型为源码包时,只有发布到我的仓库一种发布方式

在这里插入图片描述

在这里插入图片描述

可以看到已发布

在这里插入图片描述

以上是华为云ModelArts+AppCube低代码AI应用开发:识别101种西式美食完整体验

AppCube能够轻松构建专业级应用,创新随心所欲,敏捷超乎想象 —— 高效易用的低代码aPaaS平台。更多内容详见:

ModelArts+AppCube低代码AI应用开发10分钟入门指南.pdf

ModelArts+AppCube低代码AI应用开发完整指南.pdf

华为云DevRun低代码AI应用开发实战营


【万众瞩目的低代码AI应用开发实战营来啦!开启实战营之旅(免费体验),写体验文章,赢开发者大礼包!】有奖征文火热进行中:https://bbs.huaweicloud.com/blogs/384262

此外,在云声平台提出您的宝贵建议,标题以【云驻计划-定向征文】开头,还有机会赢取额外奖励。

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。