带你从0到1开发AI图像分类应用

摘要:通过一个垃圾分类应用的开发示例,介绍AI Gallery在AI应用开发流程中的作用。
本文分享自华为云社区《AI Gallery:从0到1开发AI图像分类应用》,作者: yd_269359708 。
现如今,人工智能(AI)技术在计算机领域内,得到了越来越广泛的重视,并在各行各业中得到应用。然而无论是AI开发的初学者,还是资深的AI开发专家,在AI 应用开发工程中,都会面临着不小的麻烦。我们今天要介绍的AI Gallery,就是一个开放的开发者生态社区,提供了数据集、算法、模型等AI数字资产的共享,帮助开发者加速AI产品的开发与落地,保障AI开发生态链上各参与方高效地实现各自的商业价值。
背景知识

AI 开发基本流程

在介绍AI Gallery之前,我们先来看看一个AI应用开发的基本流程,方面后面更好的说明AI Gallery在AI 应用开发流程中能够提供的帮助。大神请直接跳过此章。
AI开发的基本流程通常可以归纳为几个步骤:确定目的、准备数据、训练模型、评估模型、部署模型。
1.png

  • 确定目的
    在开始AI开发之前,必须明确要分析什么?要解决什么问题?商业目的是什么?基于商业的理解,整理AI开发框架和思路。例如,图像分类、物体检测等等。不同的项目对数据的要求,使用的AI开发手段也是不一样的。
  • 准备数据
    数据准备主要是指收集和预处理数据的过程。
    按照确定的分析目的,有目的性的收集、整合相关数据,数据准备是AI开发的一个基础。此时最重要的是保证获取数据的真实可靠性。而事实上,不能一次性将所有数据都采集全,因此,在数据标注阶段你可能会发现还缺少某一部分数据源,反复调整优化。
  • 训练模型
    俗称“建模”,指通过分析手段、方法和技巧对准备好的数据进行探索分析,从中发现因果关系、内部联系和业务规律,为商业目的提供决策参考。训练模型的结果通常是一个或多个机器学习或深度学习模型,模型可以应用到新的数据中,得到预测、评价等结果。
    业界主流的AI引擎有TensorFlow、Spark_MLlib、MXNet、Caffe、PyTorch、XGBoost-Sklearn、MindSpore等,大量的开发者基于主流AI引擎,开发并训练其业务所需的模型。
  • 评估模型
    训练得到模型之后,整个开发过程还不算结束,需要对模型进行评估和考察。往往不能一次性获得一个满意的模型,需要反复的调整算法参数、数据,不断评估训练生成的模型。
    一些常用的指标,如准确率、召回率、AUC等,能帮助您有效的评估,最终获得一个满意的模型。
  • 部署模型
模型的开发训练,是基于之前的已有数据(有可能是测试数据),而在得到一个满意的模型之后,需要将其应用到正式的实际数据或新产生数据中,进行预测、评价、或以可视化和报表的形式把数据中的高价值信息以精辟易懂的形式提供给决策人员,帮助其制定更加正确的商业策略。
ModelArts

明白了AI 应用开发的流程,我们就可以在本地搭建环境来进行AI应用开发了。但是俗话说“工欲利其事必先利其器”,借助成熟的AI 开发平台,能够极大地提高我们的开发效率,缩短我们的开发周期,减少我们的开发成本。在这里,我推荐的是华为云的ModelArts 一站式AI开发平台。
ModelArts作为一个一站式的开发平台,能够支撑开发者从数据到AI应用的全流程开发过程。包含数据处理、模型训练、模型管理、模型部署等操作,并且提供分享功能,能够在AI Gallery上与其他开发者分享模型。
ModelArts支持图像分类、物体检测、视频分析、语音识别、产品推荐、异常检测等多种AI应用场景。
2.png
AI Gallery

现在开始进入我们的主题:AI Gallery。
有AI应用开发经历的同学,应该都有类似的感悟。纵观AI应用的整个开发流程,从数据采集、标注,到算法模型的构建,每个环节都会产生许多可以复用的AI资产,而AI Gallery的目的之一就是充分发挥这些资产的效用,提高AI开发效率。
AI Gallery是在ModelArts的基础上构建的开发者生态社区,提供了Notebook代码样例、数据集、算法、模型、Workflow等AI数字资产的共享,为高校科研机构、AI应用开发商、解决方案集成商、企业级/个人开发者等群体,提供安全、开放的共享及交易环节,加速AI资产的开发与落地,保障AI开发生态链上各参与方高效地实现各自的商业价值。
3.png
接下来,我将通过一个垃圾分类应用的开发示例,介绍AI Gallery在AI应用开发流程中的作用。
垃圾分类应用开发教程

准备工作

注册华为云账号
首先你需要注册一个华为云账号。注册链接:注册_华为帐号 (huawei.com)
注册完成后,进入华为云控制台,建议在北京四使用,网络相对比较稳定。
4.png
创建OBS桶
OBS是华为云的对象存储服务,可以理解为一个放在云端的硬盘,我们在使用ModelArts开发AI应用的过程中,需要利用OBS来保存开发所需的一些文件,例如训练所需的数据集,训练完成的模型等。
创建OBS桶。
按照页面提示,选择合适的规格,需要注意,桶的区域要和上一步中ModelArts使用的区域相同,我选择的是北京四。
在后续开发的过程中,如果需要上传大批量的数据例如训练样本到OBS,推荐使用OBS Browser+。OBS Browser+简介_华为云 (huaweicloud.com)
5.png
6.png
确定应用目的

完成上述的准备工作,我们开始正式的AI应用开发工作。根据第二章的AI开发基本流程,我们首先要确定我们开发的这个应用需要解决什么问题。在本教程中,我们假设需要开发一个垃圾分类应用,用户上传垃圾的照片,我们返回垃圾所属的分类。
选择数据集

确定完目的,我们需要准备训练所需的数据集。AI Gallery上提供了7.7w+的数据集,包括官方发布的和用户共享的数据集,覆盖了主流的AI应用场景。
打开AI Gallery的数据集专栏,搜索垃圾分类,可以看到很多的垃圾分类相关的数据集。AI Gallery数据集专栏
https://work.weixin.qq.com/gm/23f42105101883f471cd00adae13617f (二维码自动识别)
我们选择其中的一个数据集,点击查看详情。可以看到这个数据集是已经标注完成的,我们可以直接该数据集进行模型训练。
点击下载,将数据集下载到ModelArts数据集。
7.png
下载方式选择ModelArts数据集,数据集输出位置和输入位置,可以选择在OBS桶内新建一个文件夹
8.png
9.png
点击确定,页面会跳转到Gallery的个人中心。(这里下载的数据集可能没有第一时间同步过来,可以多刷新几次)
10.png
数据集会在后端自动下载,我们先来到ModelArts,左侧导航栏选择数据管理->数据集。等待刚刚下载数据集导入完成。
11.png
由于有些AI算法需要切分完成的数据集(将数据集切分为训练集和验证集),我们这里打开数据集详情,发布一个新版本,在新版本中对数据集进行切分。点击确定,等待数据集新版本发布完成。至此,数据集准备工作就完成了。
12.png
13.png
训练模型

选择算法

准备完数据,我们开始进行模型训练。由于垃圾分类在AI中属于图像分类的范畴,所以我们到AI Gallery的算法专栏,搜索图像分类,选择一个合适的算法,推荐选择官方发布的算法,官方会定期更新官方算法,来保证算法的效果,这里我选择了一个官方发布的EfficientNetB0图像分类算法。
AI Gallery算法专栏
图像分类-EfficientNetB0
14.png
简单浏览下该算法,发现很适合我们的垃圾分类场景。
点击订阅,订阅成功后点击前往控制台,云服务区域选择北京四(和上文相同的区域)。
15.png
创建训练作业

跳转到ModelArts控制台后,选择算法最新的版本,创建训练作业。
16.png
按照提示,填写相应的信息。训练输入这里我们选择刚刚下载的数据集,训练输出可以在OBS桶内新建一个文件夹,超参都是用默认的不变,规格这里可以选择显示免费的(可能需要排队,不想排队的话可以选择收费的规格)。点击提交,开始训练作业。
17.png
18.png
19.png
20.png
创建AI应用

打开训练作业详情页面,可以看到作业的状态以及训练过程中打印的日志。等待训练作业完成后,点击右上角的创建AI应用的按钮。
21.png
22.png
部署类型选择在线服务,如果有批量服务或者边缘服务的需求,也可以把这两个选上。
23.png
部署模型

等AI 应用创建完成后,就来到了最后一步,模型部署。点击刚刚创建的AI应用,选择部署为在线服务。
24.png
因为我们这里只是体验下开发流程,所以可以选择免费的规格(一小时后自动停止,且每个账号只能部署一个免费规格的AI应用)。
25.png
待在线服务部署成功,至此,我们成功上线了一个垃圾分类。接下来我们看一下这个AI应用的效果,以及如何调用相应的API。
26.png
调用AI应用

AI应用部署成功后,ModelArts会自动生成一个API接口,供开发者调用,可以看到我们这里是一个POST请求,请求的参数类型是file类型。返回两个参数,表明预测的结果和每个标签的概率。这个API接口支持AK/SK认证以及token认证,我们可以在其他项目中调用这个API接口,实现垃圾的分类识别功能。
27.png
除了API调用,ModelArts还支持网页上在线预测,我们单击预测,来到预测页面,上传一张测试图片,单击预测,右侧就会显示出预测结果。可以发现,我们的模型成功识别到了这是厨余垃圾的水果果皮。
28.png
总结

相比于其他AI开发平台,华为云ModelArts是更快的普惠AI开发平台,涉及数据标注与准备、模型训练、模型调优、模型部署等AI开发全流程,为AI应用开发提供一站式服务。ModelArts 是可以让开发者上手更快、训练更快、部署更快的全流程平台。AI Gallery作为在ModelArts的基础上构建的开发者生态社区,提供了丰富的AI应用开发所需的数据集,算法,模型。除此之外,AI Gallery还提供了社区交流的功能,大家可以在Gallery交流学习心得,同时本针对AI Gallery也安排了一场直播,欢迎感兴趣的开发者预约报名参与:https://bbs.huaweicloud.com/live/cloud_live/202211081900.html


点击关注,第一时间了解华为云新鲜技术~
收藏者
0
被浏览
526

2 个回答

ziken LV

发表于 2025-4-23 04:48:08

的数据。针对这些问题,可以在迭代开发过程中不断地进行数据收集与补充。同时,AI Gallery提供了大量的数据集共享,方便开发者获取所需数据。数据预处理阶段则包括数据清洗、数据标注等步骤,对于图像分类应用来说,标注图像类别是一项重要的工作。AI Gallery也提供了丰富的工具支持数据预处理工作。

接下来,便是关键的步骤:训练模型与评估模型部署模型了。这需要对相关AI开发工具和平台有所了解和应用,诸如深度学习框架等。而在这一过程中,AI Gallery也为开发者提供了丰富的算法和模型资源,开发者可以直接使用或者基于这些资源进行二次开发,大大缩短开发周期。此外,评估模型的过程是确保模型的性能满足需求的关键步骤,也是保障部署后应用的稳定性和性能的关键。对于新手来说往往会对训练出效果较好的模型感到很吃力。那么结合社区共享的模型资源进行学习是个不错的选择。而对于部署模型阶段来说,AI Gallery也提供了丰富的部署方案与案例参考,帮助开发者快速完成应用的部署上线。至此整个开发流程结束。而AI Gallery在整个流程中都起到了不可或缺的作用。无论是数据的收集与预处理还是模型的训练与部署都得到了AI Gallery的支持和帮助从而加速开发落地高效实现商业价值通过该示例介绍了AI Gallery在AI应用开发流程中的作用相信读者已经对AI Gallery有了更深入的了解并能够在后续的AI应用开发中充分利用这一工具提高效率并带来更大的商业价值综上人工智能是一个风口越来越多的人开始接触入门需要找资源建议分享推广值等相关人员阅读这篇科普将会事半功倍感谢您的阅读希望对您有所启发如果您有任何疑问或建议请随时与我联系我们将继续分享更多优质内容共同学习共同进步期待您的下一次光临您的支持与肯定是我前进的最大动力我将再接再厉更好地服务大众服务社会期待您的支持与关注以上文章内容只是本人看法若与您认知相悖望多多指正非常感谢哦祝您生活愉快加油努力向前奔跑
具体描述如上所述内容较为专业和繁杂部分表达有所简化但是逻辑连贯和易于理解以通俗易懂的方式呈现复杂的概念和产品从而引导大众走向人工智能时代希望您能够喜欢和支持这样的表达方式如果有任何问题或者建议请随时联系我哦非常感谢您的阅读和支持!

davie67 LV

发表于 2025-4-23 04:53:15

数据。因此,数据准备是一个长期的过程。在这个阶段,AI Gallery可以提供丰富的数据集资源,帮助开发者快速完成数据准备。

训练模型
这个阶段主要是基于收集的数据进行模型的训练。通过选择适合的算法和工具,搭建模型,并配置好模型训练所需的参数,训练出适用于项目需求的模型。在这个阶段,AI Gallery提供的算法和模型资源可以大大加速模型训练的过程。

评估模型
模型训练完成后,需要通过测试集对模型的效果进行评估。评估模型的好坏直接关系到项目最终的效果。在这个阶段,AI Gallery提供的评估工具和社区反馈可以帮助开发者更好地优化模型。

部署模型
模型经过评估和优化后,就可以进行部署了。在这个阶段,AI Gallery的社区支持和云服务可以帮助开发者快速部署模型,实现商业价值。

通过上面的介绍,我们可以看到,AI Gallery在AI应用开发流程中扮演了重要的角色。无论是数据、算法、模型还是开发过程中的各种问题,AI Gallery都能提供有效的帮助和支持。通过分享一个垃圾分类应用的开发示例,我们更加深入地了解了AI Gallery的实际应用价值。无论是初学者还是资深的AI开发专家,都可以通过AI Gallery加速AI产品的开发,实现商业价值。

您需要登录后才可以回帖 登录 | 立即注册