概述
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实现花卉分类的实践内容。是不是很简单,赶快来试一下吧。

网友评论