ModelArts平台花卉分类识别实验报告
华为云ModelArts平台花卉分类识别实验报告
1. 准备数据集
我们在官网下载好TensorFlow官网提供的花卉数据集)并在我们电脑上解压,
发现 文件的结构如下所示:
flower_photos内共有5个文件夹,分别是雏菊(daisy),dandelion(蒲公英), roses(玫瑰), sunflowers(向日葵), tulips(郁金香), 每个文件夹中存放有若干张该分类的图片。
2. 创建OBS桶
用ModelArts训练需要华为的对象存储服务OBS来保存我们的数据,
首先在华为云搜索obs服务,然后点击进入
进入之后点击创建桶
然后选择单AZ存储,地区选择离你最近的地区即可,选择好之后点击立即创建:
这样我们的OBS桶就创建好了
3. 获取访问密钥
需要获取访问密钥然后用访问密钥登录obs-brower来方便的将我们的训练数据上传到OBS桶
获取OBS密钥
点击我的凭证
点击新增访问密钥
输入密钥名称就可以下载一个名为credentials.csv的文件,里面存放的就是访问密钥,请不要泄露
4. 获取OBS Browser+ 工具
随后我们进入如下的网址下载 obs browser+ 工具
下载OBS Browser+:https://support.huaweicloud.com/browsertg-obs/obs_03_1003.html
下载安装好之后我们打开它之后使用上一步获取到的密钥登录:
随后我们在桶内新建4个文件夹(flower_photos, flower_input, flower_output, train_output)用于接下来的实验
5. 上传数据集
在flower_photos中上传我们解压出来的花卉数据集
6. 创建数据集
进入ModelArts控制台界面,进入数据集管理,然后点击创建数据集
选择图像分类标注类型,输入为止和输出位置选择我们刚刚在 obs browser中新建的两个空文件夹
随后点击创建数据集即可
返回进入此数据集管理界面,点击导入,由于我已经创建过数据集了,因此里面是有标记数据的
点击我们刚开始上传花卉数据集的位置确定即可
导入完成之后,我们点击发布,设置数据切分训练集比例为0.8即可
7. 使用算法进行模型训练
首先进入如下的网址订阅图像分类算法
图像分类-MobileNet_v2链接:https://marketplace.huaweicloud.com/markets/aihub/modelhub/detail/?id=0470e6b1-923b-47a8-ba3e-fe93de5ae2a0)
订阅完成之后我们返回ModelArts控制台的训练管理界面,点击创建训练作业
算法选择刚刚我们刚刚订阅的算法,训练输入选择我们刚刚创建的数据集,训练输出选择我们刚开始创建的输出文件夹即可,下面有免费的GPU资源可以供我们选择。点击提交并等待训练完成。
模型训练完成大概需要二十多分钟
8. 模型的部署和验证
点击模型管理,然后进行在线服务的部署,选择免费资源即可
部署完成之后点击在线服务的预测
在这里可以对应用接口进行调试,同样地你也可以利用POSTMAN等工具对它进行调试,官网有详细的文档可以查看
我们上传一些花卉图片对它进行测试
这张图片的结果是玫瑰的可能性是1,识别正确。
这张蒲公英的图片也是识别正确的。
这张图片是向日葵的概率也是100%
我们发现这个训练出来的95.87%准确率的花卉分类模型还是能准确分辨这五种花卉图片的,结果不错。
9. 注意事项
- 华为的OBS对象存储服务是要花钱的,不过训练完成之后也只扣了1分钱,其他的服务都是免费的,充值的费用如果没用完也是能提现的,所以不用担心,这点还是非常不错的。
10. 心得和体会
通过这次利用华为云ModelArts平台进行的花卉识别实验,我发现华为ModelArts平台为机器学习与深度学习提供海量数据预处理及交互式智能标注、大规模分布式训练、自动化模型生成等等一些功能,这些功能全是华为云线上帮你完成的,我们用户根本不用编写一些复杂的代码,从而可以帮助用户快速创建和部署模型,即使你毫无编码基础,也能通过这些图形化的界面进行模型的搭建和训练并快速的部署发布到实际应用当中,推进了人工智能和机器学习的普及和大众化,并使用场景化的AI案例,使得AI落地零门槛,这样的话普通人也能利用华为的这个平台使用人工智能技术改变世界。