云社区 博客 博客详情

【华为云-上云之路】手把手教你利用ModelArts零代码开发高能量美食分类模型

看那个码农 发表于 2020-06-08 17:13:41 2020-06-08
0
0

【摘要】 手把手教你利用ModelArts零代码开发高能量美食分类模型
华为云 华为公司倾力打造的云战略品牌,2011年成立,致力于为全球客户提供领先的公有云服务,包含弹性云服务器、云数据库、云安全等云计算服务,软件开发服务,面向企业的大数据和人工智能服务,以及场景化的解决方案。


image.png


华为云 用在线的方式将华为30多年在ICT基础设施领域的技术积累和产品解决方案开放给客户,致力于提供稳定可靠、安全可信、可持续创新的云服务,做智能世界的“黑土地”,推进实现“用得起、用得好、用得放心”的普惠AI。华为云作为底座,为华为全栈全场景AI战略提供强大的算力平台和更易用的开发平台。

image.png

华为云官方网站

ModelArts 华为云产品中面向开发者的一站式AI开发平台,为机器学习与深度学习提供海量数据预处理及半自动化标注、大规模分布式Training、自动化模型生成,及端-边-云模型按需部署能力,帮助用户快速创建和部署模型,管理全周期AI工作流。

image.png

华为云官方网站




用ModelArts零代码开发高能量美食分类模型

基于ModelArts零代码实现高能量美食分类模型的开发。本实验将采用几种常见的高能量和低能量的美食图片作为数据集,基于华为云ModelArts自动学习功能,零编码训练得到一个高能量美食分类检测模型。并且将训练得到的模型部署成在线服务,用户使用该在线服务对输入的图片进行预测以达到自动检测上传图中的美食是否是高能量美食。



image.png



用ModelArts零代码开发高能量美食分类模型
实现流程


1.实验前的准备工作(环境,OBS)

2.准备数据(高能量美食分类模型数据集)

3.创建图像分类项目

4.据集标

5.自动训练,生成模型

6.将模型部署上线为在线服务

7.发起检测



1


1.1密钥准备


首先需要进入华为云官方网站

https://www.huaweicloud.com/


image.png


点击页面的“控制台”切换至控制台界面,在账号名称的下拉菜单中点击“我的凭证”,进入创建管理访问密钥(AK/SK)的界面。位置如下图所示:


image.png


什么是访问密钥?
访问密钥即AK/SK(Access Key ID/Secret Access Key),是您通过开发工具(API、CLI、SDK)访问华为云时的身份凭证,不能登录控制台。系统通过AK识别访问用户的身份,通过SK进行签名验证,通过加密签名验证可以确保请求的机密性、完整性和请求者身份的正确性。


选择 访问密钥”,点击“新增访问密钥

image.png


妥善保存系统自动下载的“credentials.csv”文件中的AK(Access Key Id)SK(Secret Access Key)以备后续步骤使用。

image.png


1.2创建OBS桶和目录


进入方式,“控制台”->“服务列表”->“存储”->“对象存储服务”,页面右上角点击“创建桶”按钮进入创建页面。


image.png

什么是OBS?
对象存储服务(Object Storage Service,OBS)是一个基于对象的海量存储服务,为客户提供海量、安全、高可靠、低成本的数据存储能力,包括:创建、修改、删除桶,上传、下载、删除对象等。

1.3 OBS桶设置

OBS桶设置参数如下:
区域:华北-北京四
桶名称:自定义(注意:此名称会在后续步骤使用)
根据自己的命名习惯,我将此处的桶名称取为
obs-train-high
存储类别:标准存储
桶策略:私有
归档数据直读:关闭
单AZ:开启
 
点击"立即创建",完成创建


image.png



1.4创建文件夹


点击刚刚创建的桶,进入详情页:


image.png


左侧栏选择“对象”,点击“新建文件夹”,在弹出的新建窗口中:

文件夹名称:自定义 此名称会在后续步骤中使用)
根据自己的命名习惯,我将此处的文件夹名称取为 calorie-data

 

点击“确定”完成添加:


image.png


1 .5 服务授权

由于本实验项目需要使用数据管理功能,在开始使用前,需为数据管理模块获取访问OBS权限。

在ModelArts管理控制台,进入“数据管理->数据集”页面,单击“服务授权


image.png


由具备授权的账号 同意授权 后,即可正常使用:


image.png


1.6下载安装并登录OBS Browser+


由于OBS Browser快下线了,所以本次实验关于对象存储服务操作中我们用到的新工具OBS Browser的升级版OBS Browser+


OBS Browser+是一款用于访问和管理对象存储服务(Object Storage Service,OBS)的图形化工具,支持完善的桶管理和对象管理操作。OBS Browser+的图形化界面可以非常方便地让用户在本地对OBS进行管理,例如:创建桶、上传下载文件、浏览文件等。


该工具 在华为云主页“开发者->资源工具->开发工具”处:


image.png


双击点进去后是下面的页面:

image.png



在开发工具的业务工具处,根据自己电脑配置下载OBS Browser+:


image.png


此为下载完成打开后的OBS Browser+工具界面:


image.png


填入步骤1.1下载得到的Access Key IdSecret Access Key密钥

即可登录刚刚在华为云云端创建的OBS桶:


image.png


此时可以借助OBS Browser+从云端创建的OBS桶中上传和下载文件:


image.png



2


2.1准备数据


关于高能量美食分类的数据集,这里我是选取日常生活中常见的几种高能量美食,几种低能量美食,用Python网上爬取图片后,自己做的数据集,数据集一共65张美食图片,高能量美食图片30张,低能量美食图片35张。


image.png


制作的美食数据集文件存储在了公众号的后台,后台回复“卡路里”可获得后台美食数据集文件:


image.png


2 .2 数据上传

点击打开刚刚下载安装好的OBS Browser+工具进行对象存储服务:

进入步骤1创建好的OBS桶calorie-data文件夹中:

image.png



点击上传”,按“添加文件夹”选择刚才下载好的数据集的文件夹的test和train,点击“确定”即可完成上传


test文件夹下是测试图片文件

train文件夹下模型训练图片文件

image.png



利用OBS Browser+工具将数据上传至华为云云端的速度很快,在华为云云端很快就可以看见刚刚上传的本地电脑的高能量美食分类数据集:


image.png



3


3.1 创建图像分类 项目

在控制台中选择“服务列表->EI企业智能->ModelArts
进入ModelArts管理控制台主页,
image.png



单击左侧导航栏“自动学习
image.png



添加步骤1保存的访问密钥文件中的密钥:
image.png



在“图像分类 ”方框中单击“创建项目
image.png



在“创建图像分类项目”页面中,
填写“项目名称 数据集名称

选择“数据集输入位置”
高能量美食数据集OBS路径为
“/obs-train-high/calorie-data/train/”

“数据集输出位置”选择一个空目录如
“/obs-train-high/calorie-data/output/”
image.png



填写完信息后,认真比对一遍自己信息,是否有错误,无错之后点击“创建项目”即可创建图像分类项目:

image.png



如果此时未标注中没有显示数据,点击图中“同步数据源”即可导入OBS桶中数据文件。



4


4.1数据标注


数据标注,针对图像分类项目,即在已有数据集中,标注出不同类别的物体,并为其打上标签。标注好的数据用于模型训练。


高能量美食分类数据集中,未数据标注图片有65张,用户需要选择未标注数据进行手动标注。

image.png



高能量美食分类数据集里面的数据标签有这几种类别:


1.高能量食物-辣条

2.高能量食物-奶油蛋糕

3.高能量食物-方便面

4.低能量食物-蘑菇

5.低能量食物-

6.低能量食物-草莓

7.低能量食物-去皮鸡肉

以“高能量食物-辣条”数据标注为例子,本文我们将操作一遍“高能量食物-辣条”数据标注的过程:

image.png



在未标注图片中找到所有高能量食物-辣条的图片,并勾选图片左上的小勾√


勾选完之后在右侧标签名处

输入“高能量食物-辣条”点击确定:

image.png



即可实现一次图像分类标注。


我们用这样的方法,依次把未标注图片中


1.高能量食物-奶油蛋糕

2.高能量食物-方便面

3.低能量食物-蘑菇

4.低能量食物-鱼

5.低能量食物-草莓

6.低能量食物-去皮鸡肉

等类别图片全部标注出来。


待未标注图片全部标注之后,在已标注图片处就是这样的页面:

image.png



右侧共 7 个标签,左侧的65个高能量美食分类数据集的图片数据均已标注。


如果你对华为云ModelArts的数据标注还不太了解,可点击下方链接查看更加完整步骤:



【玩转华为云】手把手教你用ModelArts实现猫狗数据集的智能标注



【玩转华为云】手把手教你利用ModelArts实现数据集的图像标注



5


5.1自动训练,生成模型


本次实验共标注了65张高能量美食分类数据集图片,标注完成后,点击右侧的“开始训练

image.png



点击开始训练,设置训练参数,此处默认即可:

image.png



单击“确定”开始模型的自动训练。深度学习训练时间相对较长,建议用户耐心等待。如果关闭或退出此页面,系统仍然在执行训练操作。

image.png



训练完成后,用户可以在界面中查看训练详情,如 “准确率”“召回率”“精确率”“F1值”等

image.png



召回率:被用户标注为某个分类的所有样本中,模型正确预测为该分类的样本比率,反映模型对正样本的识别能力。 


精确率:被模型预测为某个分类的所有样本中,模型正确预测的样本比率,反映模型对负样本的区分能力。 


准确率:所有样本中,模型正确预测的样本比率,反映模型对样本整体的识别能力。 


F1值:F1值是模型精确率和召回率的加权调和平均,用于评价模型的好坏,当F1较高时说明模型效果较好。 



6


6.1将模型部署上线为在线服务


在“模型训练”页签中,待训练状态变为“已完成”,单击“版本管理”区域中的“部署”。

image.png



在弹出的部署设置对话框中,选择“计算节点规格”,设置“自动停止”功能,单击“确定”开始将物体检测模型部署上线为在线服务。


如果选择免费规格,则不需要设置“自动停止”功能,1小时之后自动停止。

image.png



启动部署上线后,系统自动跳转至部署上线页面。此页面将呈现模型部署上线的进度和状态。

部署上线将耗费较多时间,请您耐心等待。
image.png



部署完成后,版本管理区域的状态将变更为 
运行中

image.png



7


7.1发起检测


模型部署完成后,用户可添加test文件夹里的测试图片数据进行检测,在“部署上线”界面,选择状态为“运行中”的服务版本,在“服务测试”区域单击“上传”检测图片进行检测。

image.png


在图中箭头的位置即可看见检测结果,可以说利用ModelArts平台训练出来的模型检测效果是很棒的。

image.png


测试1

辣条说第一,没谁敢说第二。辣条在此,无人能够抵挡得了它的诱惑。每次闲来无事之时,在家看电影时,就喜欢手中那包辣条。即使辣的吸溜吸溜的,也不会让嘴巴有停下的机会。但是辣条重油重辣,热量还是比较高的,属于高热量食物。

image.png


测试2

软软的口感,入口浓郁的丝滑感。有时候还会添加许多坚果,丰富的口感也是在诱惑着吃货们,最难以控制的就是味蕾。人们喜欢吃甜食也是跟自身有关,因为吃甜食会让人感觉到快乐,但是甜食吃多了特别容易得脂肪肝。这种堪称超级热量的食物,你是否吃过呢?

image.png


测试3

对于方便面这种只用冲泡一下即食的食物,很受大家欢迎的。但是大家孰不知这泡面的背后是有多大的热量,属于含盐量超标食物。先不说它热量超标,就只看它的含盐量都可怕,如果人们摄盐量过高对身体肝脏都不好。想要减肥,还是少碰这种食物为好,不然只能在吃胖的道路上一去不复返了。


image.png

测试4

草莓是很多人喜欢的水果,同时还富含着一堆营养物质,包括抗氧化剂和维生素C。 一整杯草莓只产生50卡路里的热量。你可以将它们切成丁状,将它们混合成在一起做成甜草莓沙拉。


image.png

测试5

去皮鸡肉,对于减肥来说是明智的选择,因为白肉成份脂肪比四脚动物的红肉少,而蛋白质可以让你饱足时间更长,在消化中,可消耗更多的热量,份量上限在每日两巴掌左右即可。


image.png

测试6

鱼是相当好的低脂蛋白质来源,特点为好吸收率(高达87%至98%)与健康的脂肪w-3脂肪酸(EPA与DHA),也有丰富维生素与矿物质(钙、碘、镁、铁等),是体重控制时期的晚餐首选。


至此实验全部完成。


如果大家想将自己训练好的检测模型部署为移动端的应用,可点击下方推文,查看相关接口调用方式:



【玩转华为云】手把手教你用Postman测试ModelArts部署的图像分类模型


最后大家使用的云端资源记得全部删除或停用,如对象存储服务创建的OBS桶,文件夹;ModelArts创建的数据集,部署的模型等都需要删除或停用,并停用访问密钥,以免造成不必要的花费。


[华为云ModelArts]带给我的记忆不止是人性化,智能化,普众化。更有很多吸引人的AI技术。


登录后可下载附件,请登录或者注册

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

上一篇:【华为云-上云之路】手把手教你用ResNet50预置算法基于海量数据训练美食分类模型

下一篇:【华为云-上云之路】决战黑客松——手把手教你实现Baseline赛题

评论 (0)


登录后可评论,请 登录注册

评论