共计 1866 个字符,预计需要花费 5 分钟才能阅读完成。
概述
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 实现花卉分类的实践内容。是不是很简单,赶快来试一下吧。
点击关注,第一时间了解华为云新鲜技术~