实践案例丨基于ModelArts AI市场算法MobileNet_v2实现花卉分类
概述
MobileNetsV2是基于一个流线型的架构,它使用深度可分离的卷积来构建轻量级的深层神经网,此模型基于 MobileNetV2: Inverted Residuals and Linear Bottlenecks 中提出的模型结构实现。可以用图像分类任务,比如猫狗分类、花卉分类等等。用户提供一系列带有标注的数据集,该算法会载入在ImageNet-1000上的预训练模型,在用户数据集上做迁移学习。训练后生成的模型可直接在ModelArts平台部署为在线服务或批量服务,同时支持使用CPU、GPU或Ascend 310进行推理。(以上介绍来自ModelArts AI 市场算法介绍)
注意:需要用到ModelArts和OBS桶,建议提前购买相应资源或代金券,或使用免费规格,但OBS是要花钱的。
准备数据集
这里使用的是花卉数据集,共3669张花卉图片,5个种类,数据集下载地址http://download.tensorflow.org/example_images/flower_photos.tgz (数据集来自自博主张震宇的博客中所提供的数据集,在这里感谢大佬,附上大佬博客链接https://bbs.huaweicloud.com/blogs/158092,里面描述的很详细,建议可以看一下,学习学习,以下的上传数据集方法也来自该博客)
下载解压后,进入flower_photos目录,里面有5个子目录
这里要把flower_photos这个文件夹,也就是上面五个文件的上一级文件夹上传到OBS(华为云对象存储服务),建议使用OBS Browser工具上传。OBS Browser下载:https://support.huaweicloud.com/browsertg-obs/obs_03_1003.html
上传好了之后,回到ModelArts首页,点击左侧“数据管理”->“数据集”,然后点击“创建数据集”
然后先在“数据集输入位置”和“数据集输出位置”选择2个OBS上的文件夹(文件夹要自己创建,必须是空文件夹),剩下的部分默认就行,之后点击右下角创建即可。
回到“数据管理”->“数据集”界面,点击刚才创建的数据集
点击数据集,进入数据集界面,选择右上角的导入
点击导入后,选择最开始上传数据集的路径,就是选择flowers_photos文件夹。
选择之后需要等待一会,可能你会看到导入仍然是0,不要着急,等一下。当看到如下情况,表示导入完成了,接下来就可以发布数据集了。
同样,点击数据集,进入刚才导入的界面,选择右上角的发布
这里选择8:2的比例划分训练集和测试集。点击确定即可。等待数据集创建完成。
下面开始训练,这里首先要到AI市场,订阅算法,放心,是免费的,点击链接进入算法订阅 https://console.huaweicloud.com/modelarts/?region=cn-north-4#/aiMarket/aiMarketModelDetail/overview?modelId=0470e6b1-923b-47a8-ba3e-fe93de5ae2a0&type=algo
点击订阅,按照弹出的界面确认即可。
订阅之后,还要配置同步算法,点击应用控制台
好了,算法和数据已经有了,下面开始执行训练吧,选择创建训练作业。
这里选择我们刚才创建的数据集和对应版本号就行,这里我用的是以前创建的数据集,所以数据集名称和版本号和前面创建的不一样,你选择自己刚才创建的就好,同时,还要创建一个空文件夹存放训练输出,至于训练日志,可以不选择存放路径。
还要选训练规格,如果没有代金券的话,选择免费版本
最后,选择下一步即可。
可能有几个确认选择,最后可得到
接下来等训练完成就行了,至于训练中更加详细的介绍,可以参考算法订阅界面的介绍,自己设定参数。
这个训练大概17min完成,还是挺快的。接下来,导入模型。
前面的训练作业名称是随机的,选择就好,应该选择导入后,自动选择的就是刚才训练的了。点击右下角的立即创建,等待导入。
显示正常,表示成功了,下面开始线上部署。
默认是使用CPU部署推理的,当然选择GPU和Ascend也可以,可参考算法页面的介绍。
这里以CPU为例。单击部署,选择在线部署。
选择免费的CPU体验规格就行了
选择下一步,确认,得到
下面选择预测——>上传——>预测即可。
最后,看看效果,还不错。
以上就是基于ModelArts AI市场算法MobileNet_v2实现花卉分类的实践内容。是不是很简单,赶快来试一下吧。
实践案例丨基于ModelArts AI市场算法MobileNet_v2实现花卉分类的更多相关文章
- 实践案例丨基于 Raft 协议的分布式数据库系统应用
摘要:简单介绍Raft协议的原理.以及存储节点(Pinetree)如何应用 Raft实现复制的一些工程实践经验. 1.引言 在华为分布式数据库的工程实践过程中,我们实现了一个计算存储分离. 底层存储基 ...
- HBase实践案例:知乎 AI 用户模型服务性能优化实践
用户模型简介 知乎 AI 用户模型服务于知乎两亿多用户,主要为首页.推荐.广告.知识服务.想法.关注页等业务场景提供数据和服务, 例如首页个性化 Feed 的召回和排序.相关回答等用到的用户长期兴趣特 ...
- 实践案例丨教你一键构建部署发布前端和Node.js服务
如何使用华为云服务一键构建部署发布前端和Node.js服务 构建部署,一直是一个很繁琐的过程 作为开发,最害怕遇到版本发布,特别是前.后端一起上线发布,项目又特别多的时候. 例如你有10个项目,前后端 ...
- 实践案例丨利用小熊派开发板获取土壤湿度传感器的ADC值
摘要:一文带你用小熊派开发板动手做土壤湿度传感器. 一.实验准备 1.实验环境 一块stm32开发板(推荐使用小熊派),以及数据线 已经安装STM32CubeMX 已经安装KeilMDK,并导入stm ...
- Quartz应用实践入门案例二(基于java工程)
在web应用程序中添加定时任务,Quartz的简单介绍可以参看博文<Quartz应用实践入门案例一(基于Web应用)> .其实一旦学会了如何应用开源框架就应该很容易将这中框架应用与自己的任 ...
- 数据挖掘案例:基于 ReliefF和K-means算法的应用
数据挖掘案例:基于 ReliefF和K-means算法的应用 数据挖掘方法的提出,让人们有能力最终认识数据的真正价值,即蕴藏在数据中的信息和知识.数据挖掘(DataMiriing),指的是从大型数据库 ...
- Demo分享丨看ModelArts与HiLens是如何让车自己跑起来的
摘要:基于HiLens Kit已经基本开发完成,可部署到HiLens Kit,模型的选择为基于DarkNet53的YOLOv3模型,权重为基于COCO2014训练的数据集,而车道线的检测是基于Open ...
- 贝叶斯公式由浅入深大讲解—AI基础算法入门
1 贝叶斯方法 长久以来,人们对一件事情发生或不发生的概率,只有固定的0和1,即要么发生,要么不发生,从来不会去考虑某件事情发生的概率有多大,不发生的概率又是多大.而且概率虽然未知,但最起码是一个确定 ...
- 贝叶斯公式由浅入深大讲解—AI基础算法入门【转】
本文转载自:https://www.cnblogs.com/zhoulujun/p/8893393.html 1 贝叶斯方法 长久以来,人们对一件事情发生或不发生的概率,只有固定的0和1,即要么发生, ...
随机推荐
- 3.2 Go整数类型
1. Go整数类型 Go语言的数值类型包含不同大小的整数型.浮点数和负数,每种数值类型都有大小范围以及正负符号. 官方文档解释数据类型 int类型中哪些支持负数 有符号(负号):int8 int16 ...
- Java Web之路一:过滤器(Filter)
一.过滤器(Filter)简介 过滤器是对web资源进行拦截,做一些处理后再交给下一个过滤器或Servlet处理,主要可以拦截request和response 过滤器是以一种组件的形式与web程序绑定 ...
- 1417. 重新格式化字符串--来源:力扣(LeetCode)
题目描述: 给你一个混合了数字和字母的字符串 s,其中的字母均为小写英文字母. 请你将该字符串重新格式化,使得任意两个相邻字符的类型都不同.也就是说,字母后面应该跟着数字,而数字后面应该跟着字母. 请 ...
- 一篇文教你使用python Turtle库画出“精美碎花小清新风格树”快来拿代码!
Turtle库手册可以查询查询 python图形绘制库turtle中文开发文档及示例大全,手册中现有示例,不需要自己动手就可以查看演示. 使用Turtle画树,看了一下网上的代码,基本上核心的方法是使 ...
- wordpress评论回复邮件通知功能
安装插件登录后台——点击“插件”——“安装插件”——按关键字搜索“Comment Reply Notification”——点击“现在安装”安装好后启用插件.如下图所示: 配置Comment Repl ...
- 1700人点反对的LeetCode问题,是因为太难了吗?
本文始发于个人公众号:TechFlow,原创不易,求个关注 今天是LeetCode专题的第40篇文章,我们一起来看的是LeetCode中的71题Simplify Path,中文名是简化路径. 这题的难 ...
- Network Motif 文献调研
Network Motif 文献调研 概述:Network motifs,可以认为是网络中频繁出现的子图模式,是复杂网络的"构建块".有两篇发表在science上的论文给出moti ...
- 【JAVA习题七】输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。
package erase; import java.util.Scanner; public class 字符串分类 { public static void main(String[] args) ...
- Python 每日一练(3)
引言 今天的每日一练,学习了一下用Python生成四位的图像验证码,就是我们常常在登录时见到的那种(#`O′) 思路分析 正如常见的那种图像验证码,它是由数字和字母的随机组合产生的,所以我们首先的第一 ...
- java1.8时间处理
object TimeUtil { var DEFAULT_FORMAT = DateTimeFormatter.ofPattern("yyyyMMddHHmmss") var H ...