本篇推文共计2000个字,阅读时间约3分钟。
华为云—华为公司倾力打造的云战略品牌,2011年成立,致力于为全球客户提供领先的公有云服务,包含弹性云服务器、云数据库、云安全等云计算服务,软件开发服务,面向企业的大数据和人工智能服务,以及场景化的解决方案。
华为云用在线的方式将华为30多年在ICT基础设施领域的技术积累和产品解决方案开放给客户,致力于提供稳定可靠、安全可信、可持续创新的云服务,做智能世界的“黑土地”,推进实现“用得起、用得好、用得放心”的普惠AI。华为云作为底座,为华为全栈全场景AI战略提供强大的算力平台和更易用的开发平台。
华为云官方网站
ModelArts是华为云产品中面向开发者的一站式AI开发平台,为机器学习与深度学习提供海量数据预处理及半自动化标注、大规模分布式Training、自动化模型生成,及端-边-云模型按需部署能力,帮助用户快速创建和部署模型,管理全周期AI工作流。
华为云官方网站
零代码开发FasterRCNN物体检测模型
本实验我们将聚焦于用ModelArts零代码开发FasterRCNN物体检测模型。在ModelArts平台中除了在Notebook开发环境中进行算法的定义和运行,通过ModelArts预置算法同样可以进行FasterRCNN算法的训练和推理。本文将利用ModelArts中的FasterRCNN预置算法进行的模型训练和推理过程。并利用该模型达到实现物体检测的实验目的。
零代码开发FasterRCNN物体检测模型
实验流程
1.准备实验环境与创建OBS桶
2.下载与上传数据
3.创建训练任务
4.导入训练模型
4.部署服务
5.在线服务测试
1
1.1密钥准备
首先需要进入华为云官方网站
https://www.huaweicloud.com/
点击页面的“控制台”切换至控制台界面,在账号名称的下拉菜单中点击“我的凭证”,进入创建管理访问密钥(AK/SK)的界面。位置如下图所示:
什么是访问密钥?
访问密钥即AK/SK(Access Key ID/Secret Access Key),是您通过开发工具(API、CLI、SDK)访问华为云时的身份凭证,不能登录控制台。系统通过AK识别访问用户的身份,通过SK进行签名验证,通过加密签名验证可以确保请求的机密性、完整性和请求者身份的正确性。
选择“访问密钥”,点击“新增访问密钥”
妥善保存系统自动下载的“credentials.csv”文件中的AK(Access Key Id)和SK(Secret Access Key)以备后续步骤使用。
1.2创建OBS桶和目录
进入方式,“控制台”->“服务列表”->“存储”->“对象存储服务”,页面右上角点击“创建桶”按钮进入创建页面。
什么是OBS?
对象存储服务(Object Storage Service,OBS)是一个基于对象的海量存储服务,为客户提供海量、安全、高可靠、低成本的数据存储能力,包括:创建、修改、删除桶,上传、下载、删除对象等。
1.3 OBS桶设置
OBS桶设置参数如下:
区域:华北-北京四
桶名称:自定义(注意:此名称会在后续步骤使用)
根据自己的命名习惯,我将此处的桶名称取为
obs-train-faster
存储类别:标准存储
桶策略:私有
归档数据直读:关闭
多AZ:开启
点击"立即创建",完成创建
1.4创建文件夹
点击刚刚创建的桶,进入详情页:
左侧栏选择“对象”,点击“新建文件夹”,在弹出的新建窗口中:
文件夹名称:自定义(此名称会在后续步骤中使用)
根据自己的命名习惯,我将此处的文件夹名称取为faster-data
点击“确定”完成添加
1.5服务授权
由于本实验项目需要使用数据管理功能,在开始使用前,需为数据管理模块获取访问OBS权限。
在ModelArts管理控制台,进入“数据管理->数据集”页面,单击“服务授权”
由具备授权的账号“同意授权”后,即可正常使用:
1.6下载安装并登录OBS Browser+
由于OBS Browser快下线了,所以本次实验关于对象存储服务操作中我们用到的新工具是OBS Browser的升级版OBS Browser+
OBS Browser+是一款用于访问和管理对象存储服务(Object Storage Service,OBS)的图形化工具,支持完善的桶管理和对象管理操作。OBS Browser+的图形化界面可以非常方便地让用户在本地对OBS进行管理,例如:创建桶、上传下载文件、浏览文件等。
该工具在华为云主页“开发者->资源工具->开发工具”处:
双击点进去后是下面的页面:
在开发工具的业务工具处,根据自己电脑配置下载OBS Browser+:
此为下载完成打开后的OBS Browser+工具界面:
填入步骤1.1下载得到的Access Key Id和Secret Access Key密钥
即可登录刚刚在华为云云端创建的OBS桶:
此时可以借助OBS Browser+从云端创建的OBS桶中上传和下载文件:
2
2.下载与上传数据
有很多开源的数据集可以用来进行目标检测任务的训练,如COCO数据集,PASCAL VOC数据集,BDD100K等,可以根据不同的需求和偏好进行选择
本文的操作实验将使用PASCAL VOC2007数据集进行模型构建,数据下载地址如下:
http://host.robots.ox.ac.uk/pascal/VOC/voc2007/VOCtrainval_06-Nov-2007.tar
数据集文件的大小较大,有439M
或本微信公众号后台回复“2007”即可一键获取PASCAL VOC2007数据集:
2.2数据解压与处理
在本地电脑平台,解压下载的
“VOCtrainval_06-Nov-2007”压缩包。
例如,解压至本地“VOCtrainval_06-Nov-2007”文件夹下
本实验只需要将解压后VOC2007下的两个文件夹Annotations(标注数据) 和 JPEGImages(图像数据)下的所有文件放入一个文件夹中(如:VOC),准备好的文件夹的如下图所示:
简单来说就是需要把解压后Annotations文件夹:
以及解压后JPEGImages文件夹:
两个文件里的数据统一复制粘贴到一个新文件中
这里再次定义为VOC文件夹:
2.3数据上传
点击打开刚刚下载安装好的OBS Browser+工具进行对象存储服务:
进入步骤1创建好的OBS桶faster-data文件夹中:
点击“上传”,选择刚才整理好的VOC文件夹,点击“确定”即可完成上传。
利用OBS Browser+工具将数据上传至华为云云端的速度很快,在华为云云端很快就可以看见刚刚上传的本地电脑的数据集:
3
3.创建训练作业
进入ModelArts主页“训练管理->训练作业”处:
点击“创建”,进行训练作业创建:
名称:自定义(此处我设置的是trainjob-faster)
算法来源:预置算法
此处选择:Faster_RCNN_ResNet_v1_50
数据来源:数据存储位置
/obs-train-faster/faster-data/VOC/
训练输出位置:
/obs-train-faster/faster-data/output/
(此时需要在OBS桶的faster-data文件夹下新建output文件夹)
运行参数使用默认的运行参数,此处我的max_epoches改为了2,训练2轮,大概需要几十分钟左右的训练时间。
如果想要提高模型的精度,可以适当增加max_epoches
资源池:公共资源池
类型规格可以根据自己的训练需求来选择
此处我选择的是:
类型:GPU
规格:[限时免费] GPU:1 * nvidia-v100-pcie-32gb 32GiB CPU:8 核 64GiB
设置好各项参数后,点击“下一步”
再次确认信息后,点击“提交”
模型开始训练:
模型训练完成,一共训练了25分钟:
4
4.导入训练模型
ModelArts平台提供了在线部署服务,可以对模型进行在线推理。
点击进入ModelArts主页“模型管理->模型”处,再次点击“导入”:
进行参数设置:
名称:自定义
(此处我设置的是model-faster)
元模型来源:从训练中选择
选择刚才的训练作业:trainjob-faster
其余保持默认
点击“立即创建”即可:
等待模型导入变为“正常”:
5
5.部署服务
进入ModelArts主页“部署上线->在线服务”处:
点击“部署”:
名称:自定义
(此处我设置的是service-faster)
资源池:公共资源池
选择模型及配置:
选择刚才导入的模型:model-faster
计算节点规格:自定义
其余保持默认
确认参数后,点击“下一步”
再次确认无误,点击“提交”:
等待部署完成:
部署完成,显示“运行中”
6
6.在线服务测试
在“部署上线”的“在线服务”处,点击运行中的在线服务右侧的“预测”
进入到测试界面,单击“上传”图片,进行检测:
从检测结果来看,可以说利用于用ModelArts零代码开发FasterRCNN物体检测模型的检测效果很棒。
用上面步骤,进行其它图片测试,运行界面如下:
利用步骤进行其它图片测试:
测试1
测试2
测试3
测试4
测试5
至此实验全部完成。
最后大家使用的云端资源记得全部删除如对象存储服务创建的OBS桶,文件夹;ModelArts创建的数据集,部署的模型等都需要删除,并停用访问密钥,以免造成不必要的花费。
通过对实验结果的比对,可以看出利用
[华为云ModelArts]训练出来的物体检测模型是很棒的,六个字总结就是-高效,快捷,省心。