摘要: 走过路过不要错过,看Copy攻城狮如何借力华为云ModelArts玩转AI。

“自2018年10月发布以来,ModelArts累计服务了众多行业十几万开发者,通过基础平台的完备性和面向行业的知识沉淀以及平台化能力,使得AI应用开发更简单高效。”

正如华为轮值董事长徐直军在《ModelArts人工智能应用开发指南》一书中作序提到,ModelArts简化了AI应用的开发流程、优化了AI应用的开发成本、降低了AI行业应用开发技能要求。对于零基础的小伙伴来说,如何快速上手AI应用开发?我相信您看完我学习使用ModelArts的经历,应该能找到答案。

邂逅ModelArts

说到结缘ModelArts,不得不先说说我和华为云的故事。去年的时候,给甲方爸爸开发移动应用,他们的APP通过华为应用市场分发,于是我就注册了华为开发者账号。同时,我热衷于参与前端开发方面的线下技术交流活动,偶然一次机会有幸拿到了“HDC2019”华为开发者大会的入场券,最开始关注的还是前端领域的技术,比如当时去东莞松山湖就是冲着华为快应用去的。在HDC大会上,最让我印象深刻的就是CodeLab,类似线下的工作坊,从最基础的“Hello World”开始,能让开发者轻松地了解和接受一门新的技术。记得当时参与了好几个CodeLab,基本都是偏向于前端开发,如快应用开发、AppGallery Connect、手机主题开发等……当然,目前CodeLab也有线上的开发指南,如:0代码开发图像分类AI模型;还有更加方便的沙箱实验室,为我们可以体验使用ModelArts实现花卉图像分类、基于ModelArts实现人脸识别等实践操作。

不过在这之后,我一直关注的都是前端领域的技术分享,如华为云“7天玩转前端研发实战营”……尽管初次接触华为云并未直接邂逅ModelArts,但为后来的遇见做了很大的铺垫。今年4月份的时候,在论坛偶然关注到了MDG举办的《创新AI活动:在武大樱花下写防疫课观后感》以及毛启昌老师分享的【AI 创新开发者沙龙】如何在华为云 ModelArts 实现草莓成熟识别?,初步了解到借助华为云一站式AI开发平台ModelArts,零基础也能开发诸如图像分类、物体检测、预测分析、声音分类、文本分类等AI应用开发;然后也参与了华为云开发者AI青年班黑客松大赛,第一次动手调参,不过毕竟是零基础,经过不断的尝试,终于将基线代码调优到了0.948,并且将这段“不断碰壁”的经历分享到了ModelArts版块,于是就有了我在ModelArts版块的第一篇帖子--《【手摸手学ModelArts】轻松完成Baseline及调优至0.》,后来又参加了华为云AI实战营,还有幸分享了我在学习ModelArts过程中的“copy经验”,完成了人生第一场直播--【AI实战课堂】2020年华为云AI实战营 ——FasterRCNN和YoLoV3算法完成物体检测,再后来就真的一发不可收拾,深深地爱上了ModelArts。她教会了我:AI,没那么难;学AI就到huaweicloud.ai!

学习ModelArts

在学习任何知识或技能前,我觉得我们先得问问自己,为什么要学习?比如为什么要学习ModelArts?对我而言,想法很简单:现如今,人工智能俨然融入生活的点点滴滴,未来只有两种人--一种用人工智能赚钱的,一种为人工智能消费的;作为前端Copy攻城狮,如果能有AI加持自动Copy代码是不是如鱼得水,岂不乐哉?当今这个没有AI芯片加持的手机都不能称之为“旗舰机”的时代,没有AI技能加持的攻城狮感觉都有点落伍。但是,谈到学习人工智能,大家可能最先想到的是技术太难、学不会。如果,您体验了一站式AI开发平台ModelArts,您一定会和我一样惊叹:原来AI开发也能这么简单?

那怎么学习ModelArts呢?按照我过往的经验,个人感觉无论学习什么新知识或技能,官方文档是最原始的学习资料。举个例子,我想学习全场景深度学习框架MindSpore,那我可能会访问MindSpore的官网--https://www.mindspore.cn/,我们能够轻松找文档、教程、代码甚至手把手的教学视频。不仅如此,我们还能轻松找到加入社区的方式找到志同道合的好基友一起前行。

同理,要学习ModelArts,我们第一步就需要了解她,首先官网走一波:ModelArts是华为云倾情打造,访问华为云ModelArts专区华为云AI社区都能轻松找ModelArts及AI相关的教程。比如,我们还能获取到AI开发者成长路线,从0到1成为AI开发达人。

除了官方提供的文档和教程,我们可以关注一下MDG(ModelArts开发者社区)、华为云ModelArts论坛及博客,最新的一手资料能及时获得,如ModelArts新功能特性、官方发布的活以及社区小伙伴们的精彩分享。其次,学会ModelArts的最好途径就是自己多动手实践,前期的学习,我们可以根据官方文档动手实践了解一些基本的概念和操作,之后我们可以尝试实践自己的创意,比如之前朱永春老师就分享了众多创意实践,有奶茶识别、有花式表白、有云毕业照生成。当然,乐于分享也有助于自身的提升,分享对学习而言也是催化剂,期待能看到您的分享、一起学习一起进步!

Hello,ModelArts

废话不多说,先上一个“Hello ModelArts”案例--找云宝(使用自动学习实现物体检测应用,云宝是华为云的吉祥物),希望通过亲自动手简短的实操,您能感受到使用ModelArts开发AI应用是多么简单。

0.环境准备

初次体验ModelArts之前,需注册华为云账号并进行实名认证;ModelArts服务时,需先配置全局设置,您可以通过委托授权ModelArts访问OBS、SWR、IEF等依赖服务,使用委托您可以更精细的控制授权的范围,或者通过配置访问密钥进行授权。本案例还需用到数据存储服务OBS,可参考ModelArts准备工作。

1.数据集准备

得益于ModelArts强大的AI市场提供的数据集分享功能,我已将本次实践的数据集上传,只需访问ModelArts AI市场的数据集模块,搜索“Yunbao”,即可找到部分标注的云宝图片数据集。通过AI市场数据集模块的分发,我们可以将数据集直接下载到自己的ModelArts中。通过数据集管理可直接管理从AI市场下载的ModelArts数据集,这样数据集就没必要先下载到本地再上传到OBS再新建数据集了,大大简化了开发流程。

2.数据标注

基于上一步下载的数据集,我们可以新建自动学习-物体检测任务,在任务中进行数据标注;也可以在数据管理-数据集中选择上一步下载的数据集进行标注。当然,如果您想体验自动分组、智能标注等数据集高级操作,建议还是使用第二种方式,标注完毕之后在自动学习任务中同步数据。

3.训练

由于本次实践提供的已经有标注部分数据,因此我们可以直接训练,不过训练的结果没有全部标注完毕的好。创建训练也是非常简单,轻轻一点,ModelArts便开始自动训练,只需耐心等待片刻即可。

下图中V001是只标注了26中图片的训练结果,V002是全部标注完的训练结果。其中的差异是非常明显的,当然训练的耗时差异也是蛮大的,全部标注的训练时长几乎是原来的2倍,但换来的是精度的显著提升,也是非常值得的。

4.部署

部署也是一键点击即可,我这里以V002这个版本为基础进行在线部署,依旧是等待片刻,服务正常运行即可调用。这里不得不夸赞一下,ModelArts依旧提供了一个免费的在线部署服务实例,又进一步降低了我们开发AI的成本。

简单调试一下,基本能准确识别云宝及位置,至此零代码开发物体检测AI模型就完成了,您Get到了吗?是不是So easy?

探索快乐,分享快乐

刚学习ModelArts的时候,就有一个小小的念头:将我的学习经历整理成文档或者视频分享出来了帮助更多的小伙伴了解并学习ModelArts,甚至出版一本全方位学习ModelArts的电子书教程……然而,几个月过去了,我的想法还仅仅是想法,官方的开发指南一书确已经出版了!不过,这个想法仍然在我脑海里,更加细致的教程仍然需要打磨,小目标还是有的--未来一年内学习并整理出《手摸手学ModelArts》电子书,先把牛皮吹出了。

回顾这几个月的学习,除了AI实战营坚持打卡分享,基于ModelArts和本行前端开发,我体验了一站式AI开发:基于ModelArts官方案例完成了银行存款预测小Demo,详见【手摸手学ModelArts】今天你存款了吗?;基于AI实战营的命名实体识别案例完成华为云应用魔方AppCube与ModelArts结合的探索,详见【Copy攻城狮日志】ModelArts与AppCube双“魔”合璧庆双节。虽然没什么技术含量,也不成气候,但也是一步一个脚印,踏踏实实地学习探索,同时承蒙各位的抬爱,感觉非常值得,非常快乐。

除此之外,我还热衷于给ModelArts示例代码库的文档纠错,实实在在的“文档修改贡献者”;当然通过学习ModelArts-Labs代码库,也是能够第一时间掌握ModelArts新的玩法;如果能在学习之外,还能顺带帮助其他小伙伴,何乐而不为呢?

文中链接

点击关注,第一时间了解华为云新鲜技术~

快快使用ModelArts,零基础小白也能玩转AI!的更多相关文章

  1. 学Java必看!零基础小白再也不用退缩了

    程序员们!请往这儿看 对于JAVA的学习,可能你还会有许多的顾虑 不要担心 接着往下看吧 学Java前 一.数学差,英语也不好是不是学不好Java? 答案是:是~ 因为你在问这个问题的时候说明你对自己 ...

  2. 【自动化基础】手把手教零基础小白搭建APP的UI自动化环境

    前言 帮助零基础小白一步步搭建UI自动化环境,完成Python+Appium+模拟器/真机的UI自动化环境搭建. 环境准备: jdk1.8.0 sdk Node.js appium python Ap ...

  3. 零基础小白怎么用Python做表格?

    用Python操作Excel在工作中还是挺常用的,因为毕竟不懂Excel是一个用户庞大的数据管理软件.本文用Python3!在给大家分享之前呢,小编推荐一下一个挺不错的交流宝地,里面都是一群热爱并在学 ...

  4. 零基础小白入门IT开发指南

    先自我介绍以下,本人是一枚刚毕业不到两年的某一线城市的程序员,本科阶段专业是计算机科学与技术.从大四开始出去实习到现在的编码经验也有快2年半了,两年半的时间包括实习在内任职过有4家公司,包括一家互联网 ...

  5. 🚴‍♂️全套MySQL数据库教程_Mysql基础入门教程,零基础小白自学MySQL数据库必备教程☔ #002 # 第二单元 MySQL数据类型、操作表#

    二.本单元知识点概述 (Ⅰ)知识点概述 二.本单元教学目标 (Ⅰ)重点知识目标 1.Mysql的数据类型2.如何选择数据类型3.创建表4.修改表5.删除表 (Ⅱ)能力目标 1.熟练创建数据库及删除数据 ...

  6. 这可能最简单的一种PS图片特效,零基础小白教程

    不少小伙伴都想学习PS,可是又觉得PS很难,学了一段时间却还是做不出什么惊艳的效果,没关系!小编今天就来教大家做一个超级简单的图片特效,就算是小白也能轻松学会!我们先来看看图片效果~ 想知道怎么做吗? ...

  7. uni app 零基础小白到项目实战-1

    uni-app是一个使用vue.js开发跨平台应用的前端框架. 开发者通过编写vue.js代码,uni-app将其编译到Ios,android,微信小程序等多个平台,保证其正确并达到优秀体验. Uni ...

  8. 零基础小白必看篇:从0到1构建Python Web框架

    造轮子是最好的一种学习方式,本文尝试从0开始造个Python Web框架的轮子,我称它为ToyWebF. 本文操作环境为:MacOS,文中涉及的命令,请根据自己的系统进行替换. ToyWebF的简单特 ...

  9. 零基础小白Python入门必看:面向对象之典型魔术方法

随机推荐

  1. C#编写一个较完整的记事本程序

    开发环境 Visual Studio 2019 至少需安装 .NET桌面开发 创建项目并配置 创建窗体文件 配置项目名称及框架 设计界面 创建窗体文件,将控件摆放位置如下,参考系统自带的记事本程序 窗 ...

  2. 007 01 Android 零基础入门 01 Java基础语法 02 Java常量与变量 01 Java标识符

    007 01 Android 零基础入门 01 Java基础语法 02 Java常量与变量 01 Java标识符 Java变量与常量主要内容 Java变量与常量主要内容如下,主要是对以下内容的学习,没 ...

  3. 使用 .NET 进行游戏开发

    微软是一家综合性的网络公司,相信这点来说不用过多的赘述,没有人不知道微软这个公司,这些年因为游戏市场的回报,微软收购了很多的游戏公司还有独立工作室,MC我的世界就是最成功的的案例,现在市值是排在全世界 ...

  4. Solon详解(11)- Mybatis 与 Solon 相亲相爱

    Solon详解系列文章: Solon详解(一)- 快速入门 Solon详解(二)- Solon的核心 Solon详解(三)- Solon的web开发 Solon详解(四)- Solon的事务传播机制 ...

  5. 计数,dic的创建方式,求九九乘法表

    s1='char,python,nihao,ni,ni,python's=s1.split(',')print(s1)s2=list()for i in s: if i not in s2: s2.a ...

  6. 深入了解如何构建您的第一个多语言ASP。NET MVC 5 Web应用程序

    下载demo - 3.9 MB 介绍 这篇文章解释了如何创建一个简单的多语言ASP.NET MVC 5 Web应用程序.该应用程序将能够处理英语(美国),西班牙语和法语.英语将是默认语言.当然,扩展解 ...

  7. jquery购物车全选,取消全选,计算总金额

    这是html代码 <div class="gwcxqbj"> <div class="gwcxd center"> <div cl ...

  8. BeetleX之webapi自定义响应内容

    输出内容多样性在webapi服务中比较普遍的,有的情况使用json,xml,图片和二进制流下载等等:为了适应用不同情况的需要,组件支持自定义内容输出.接下来的主要描述组件在webapi如何定义各种内容 ...

  9. shell-的特殊变量-进程状态变量$$ $! $? $_详解

    一:shell的特殊变量-进程状态变量详解  1. 进程状态变量 $$ 获取当前shell的进程号(pid) $! 执行上一个指令的pid,上一个后台运行进程的进程号 $? 获取执行上一个指令的返回值 ...

  10. 微信小程序中使用 npm包管理 (保姆式教程)

    打开自己的微信小程序项目,在勾选这个选项 然后在第一次应该是失败的提示"没有找到可以构建的npm包". 在 小程序的根目录下比如我的项目如图: 右击鼠标在终端中打开. 然后输入:n ...