引言:

本文介绍利用华为ModelArts进行深度学习的图像分类任务,不用一行代码。

今年8月9日,在华为史上规模最大的开发者大会上,华为正式发布全球首个基于微内核的全场景分布式OS——鸿蒙操作系统(HarmonyOS)。但你知道吗?除了鸿蒙,华为还有一款好用的不能再好用的深度学习神器,ModelArts。甚至,不用编程,就能完成图像分类的任务。

比如下面用自动学习方法基于花卉数据集快速构建花卉识别应用,而且不用编写一行代码。

服务配置

如果是第一次使用ModelArts服务,在使用之前需要给服务添加访问密钥,授权作业能够访问华为云存储OBS,若没有添加访问密钥,则无法创建作业。具体操作步骤如下:

1. 生成访问密钥:在用户基本信息>管理我的凭证页面新增访问密钥,创建后密钥会下载到本地。

2. 设置ModelArts全局配置:在ModelArts服务页面,添加访问密钥,以授权访问OBS,使用ModelArts各项功能。

1. 生成访问密钥

登陆华为云控制台访问账号中心,用户新增访问密钥并下载到本地保存,操作步骤如下:

步骤 1 通过华为云账号访问华为云控制台,点击控制台右上角用户账号信息,跳转到"用户中心"。请参考图1。

图1 "用户中心"页面

步骤 2 在"用户中心>基本信息"页面点击"管理我的凭证",跳转到"我的凭证"页面。请参考图2。

图2 "我的凭证"页面

步骤 3 在"我的凭证"页面切换到"管理访问密钥"页签,执行"新建访问密钥"操作,输入登陆密码和短信验证码后,密钥会自动生成并下载到本地,文件名为"credentials.csv"。请参考图3。

图3 新增访问密钥

2. 设置ModelArts全局配置

登陆ModelArts服务控制台,在"全局配置"中设置全局访问密钥,具体操作步骤如下:

步骤 1 登陆ModelArts服务页面,通过左侧导航栏进入到"全局配置"页面。请参考图4。

图4 全局配置界面

步骤 2 执行"添加访问密钥"操作,输入"credentials.csv"文件中的"Access Key"和"Secret Access Key"信息,执行确定操作,完成全局密钥的设置。请参考图5。

图5 添加访问密钥

使用自动学习构建花卉识别应用

这章介绍如何标注花卉数据、并进行模型训练和部署,以下是操作步骤。

1. 创建图像分类项目

步骤 1 创建一个OBS桶,本案例中将桶命名为ai-course-001,同时在创建的OBS桶下创建文件夹/automl/flowers。创建OBS桶和文件夹参考文档:https://support.huaweicloud.com/qs-obs/obs_qs_0001.html 。

步骤 2 进入ModelArts管理控制台界面。单击左侧导航栏的"自动学习",进入"自动学习"界面。请参考图7。

图7 自动学习界面

步骤 3 点击"图像分类"创建项目按钮,创建自动学习>图像分类项目,自定义项目名称(本例输入exeML-flowers),训练数据选择OBS路径/ai-course-001/automl/flowers/(flowers目录是一个空目录即可),点击"创建项目"完成图像分类项目创建。请参考图8。

图8 创建项目

2. 下载数据集

点击此处下载数据集压缩包至本地。

3. 图片标注

步骤 1 准备数据集。找到本地下载好的数据集压缩包,然后解压。数据集文件夹名称是flowers_recognition,训练集位于flowers_recognitionrain目录下,共4个花卉类别,每个类别10张图片。测试集位于flowers_recognitionest目录下。

该数据集包含的花朵及其类别如下图所示:

步骤 2 页面会自动跳转到数据标注界面。点击下图中的"添加图片"按钮,添加本地的训练集。

图9 添加图片

步骤 3 标注图片,给图片打标签。

进入"未标注"页面。批量选中相同类别的图片,然后选择标签(如果标签不存在,需要手动输入),最后点击"确定"按钮。如下图所示(如果对操作流程不熟悉,可以查看右上角的"操作指导"):

图10 选择标签

"全部标签"中列举了所有的标签,以及每个标签下的图片数量,见图10 选择标签。

步骤 4 校验图片标签。完成所有图片标注后,进入"已标注"页面。如果每个类不是10张图片,说明标注有误,可以在"已标注"页面修改标签。如果标注正确,可以跳过此步骤。

点击图片右下角按钮,可以查看图片的标签,如下图所示:

如果发现标签不正确,可以选中图片,重新选择标签。

4. 模型训练

在"数据标注"界面中,首先设置训练时长为0.1(减小训练时长的同时,可能会降低模型精度),然后点击"开始训练"按钮,即可开始训练。如下图所示:

5. 模型部署

在"模型训练"页面等待训练完成(不超过6分钟),训练完成后,可以查看模型的精度:

点击"部署"按钮,将模型部署为一个在线服务:

6. 服务测试

在"部署上线"页面,等待服务部署成功。部署成功后,点击"上传本地图片"按钮,上传一张本地的测试图片(从测试集中选取)。如下图所示:

点击"预测"按钮进行预测:

可以看到预测结果:

7. 关闭服务

在"部署上线"页面,点击"停止"按钮,停止在线服务:

至此,花卉识别应用实验完成。

结束语:

谢谢大家的阅读。作为一个具有10多年互联网,大数据的技术开发者。近十年工作,主要在从事大数据架构工作,涉及人工智能开发。有兴趣的同学可以关注v信公众号:python_dada来关注我的知识输出。

基于深度学习模型的花卉图像分类代码_华为不止有鸿蒙!教你快速入门华为免编程深度学习神器ModelArts...相关推荐

  1. 基于深度学习模型的花卉图像分类代码_实战 | 基于深度学习模型VGG的图像识别(附代码)...

    本文演示了如何使用百度公司的PaddlePaddle实现基于深度学习模型VGG的图像识别. 准备工作 VGG简介 牛津大学VGG(Visual Geometry Group)组在2014年ILSVRC ...

  2. python嵌入shell代码_小白进!嵌入式开发如何快速入门?

    文章字数3600   干货指数:☆ ☆ ☆ ☆ ☆ 留意没?其实智能手环.智能音箱.智能家电.共享单车.无人驾驶.....这些属于嵌入式系统的产品都早已融入了我们的日常生活. 嵌入式究竟是什么?嵌入式 ...

  3. 遇到代码缺陷不要慌,马上教你快速检测和修复

    摘要:人类思维中总存在缺陷,写出的代码一样会存在缺陷,导致软件系统出现不符合预期的行为.本文讨论了软件缺陷的定义.分类.检测和修复. 人类思维中总存在缺陷,写出的代码一样会存在缺陷,导致软件系统出现不 ...

  4. 基于华为鲲鹏云的c语言程序设计,华为DevRun第四讲,华为云鲲鹏云服务移植快速入门与实践...

    6月23日,华为DevRun开发者沙龙系列活动在线上举行,"华为云和TA的朋友们公开课"第四次直播课程顺利结束,本次公开课的主题是<华为云鲲鹏云服务移植快速入门及实践> ...

  5. 扩展卡尔曼滤波(EKF)估计SOC代码2详解,基于二阶RC模型(附MATLAB代码)

    上次分享了一个扩展卡尔曼滤波估计SOC的代码,得到了很多小伙伴的支持,今天再分享一个很好用的扩展卡尔曼滤波估计SOC的程序.使用MATLAB语言完成程序的编写. 有关EKF的推导及原理请看我写的另一个 ...

  6. python保存模型的路径怎么写_使用python在MongoDB中保存机器学习(ML)和深度学习(DL)模型...

    我们知道,当我们训练机器学习或深入学习模型时,我们必须保存训练过的模型,以便将来进行预测.现在的训练模型非常昂贵,所以如果我们能够保存它们并将其用于解决其他一些问题.例如,一个训练过的能够识别汽车的神 ...

  7. mm1排队模型matlab,基于排队论mm1m模型的仿真,代码和出现问题如正文

    %% %基于排队论mm1m模型的仿真,五种业务,五种不同的到达率和服务率,运行结果:五种业务被服务的客户总数与member对应统计的不相符, %还请熟悉matlab编程的高手帮忙找找问题所在,小妹不胜 ...

  8. [学习笔记]黑马程序员Spark全套视频教程,4天spark3.2快速入门到精通,基于Python语言的spark教程

    文章目录 视频资料: 思维导图 一.Spark基础入门(环境搭建.入门概念) 第二章:Spark环境搭建-Local 2.1 课程服务器环境 2.2 Local模式基本原理 2.3 安装包下载 2.4 ...

  9. 快速入门使用tikz绘制深度学习网络图

    [GiantPandaCV导语]本文主要介绍最最最基础的tikz命令和一些绘制CNN时需要的基础的LaTeX知识,希望能在尽可能短的时间内学会并实现使用tikz这个LaTeX工具包来绘制卷积神经网络示 ...

最新文章

  1. Monitorix下个版本可能支持postgresql
  2. 云服务器的购买和宝塔面板的使用
  3. html body不定宽居中,纯CSS实现元素垂直水平居中-非固定宽度
  4. Generator函数的基本概念
  5. Python编程基础11:字典
  6. Caused by: java.lang.StringIndexOutOfBoundsException: length=5; regionStart=0; regionLength=-1
  7. 图像形状特征(七)--Zernike矩
  8. 51单片机学习历程(二)快速入门51单片机
  9. 多比特杯第四届ACM程序设计竞赛同步赛
  10. 音频功率放大电路(使用过的语音方案电路记录)
  11. 微信公众号接入百度机器人
  12. idea 光标 快捷键_idea光标快捷键
  13. 大龄女计算机考研去当老师,考研、考公务员、当老师!哪个更适合女生?史上最强答案给你!...
  14. 怎么预防和清除计算机病毒,预防和清除计算机病毒的方法
  15. linux进下一级目录下,linux进入下一级目录的命令
  16. 史上最强Tomcat8性能优化
  17. 对称排序 nyoj 283
  18. 微信小程序——(2)智慧商圈、微信支付快速积分到账小程序开发指引
  19. 图像进行反转:白变黑,黑变白
  20. 安全性和保密性设计---系统的安全性设计

热门文章

  1. Android应用开发—ViewPager FragmentPagerAdapter和FragmentStatePagerAdapter下Fragment的生命周期
  2. 很多人问为什么使用联合索引,为什么不建两个单独的索引呢?
  3. Java变量名的命名方式
  4. Linux 修改系统编码
  5. cuda gpu相关汇总
  6. linux 多个秘钥,linux管理多个ssh公钥密钥
  7. 和redis_Redis 缓存
  8. s5pv210——AD转换
  9. Linux下解压:tar、rar、7z命令
  10. Python开课复习10