【华为云-上云之路】手把手教你用ModelArts基于YOLO V3算法实现物体检测
华为云—华为公司倾力打造的云战略品牌,2011年成立,致力于为全球客户提供领先的公有云服务,包含弹性云服务器、云数据库、云安全等云计算服务,软件开发服务,面向企业的大数据和人工智能服务,以及场景化的解决方案。
华为云用在线的方式将华为30多年在ICT基础设施领域的技术积累和产品解决方案开放给客户,致力于提供稳定可靠、安全可信、可持续创新的云服务,做智能世界的“黑土地”,推进实现“用得起、用得好、用得放心”的普惠AI。华为云作为底座,为华为全栈全场景AI战略提供强大的算力平台和更易用的开发平台。
ModelArts是华为云产品中面向开发者的一站式AI开发平台,为机器学习与深度学习提供海量数据预处理及半自动化标注、大规模分布式Training、自动化模型生成,及端-边-云模型按需部署能力,帮助用户快速创建和部署模型,管理全周期AI工作流。
基于YOLO V3算法实现物体检测
本实验将我们将聚焦于用YOLO V3算法实现物体检测,在ModelArts的Notebook开发环境中实现用YOLO V3算法构建一个物体检测的神经网络模型,并在该环境中实现对物体检测神经网络模型的训练与测试,最终达到实现物体检测的实验目的。
基于YOLO V3算法实现物体检测
实验流程
1.准备实验环境与创建开发环境
2.下载数据与训练代码
3.准备数据
4.Yolo_v3模型训练
5.Yolo_v3模型测试
1.1进入ModelArts
首先需要进入华为云Modelarts主页,输入自己的账号密码:
https://www.huaweicloud.com/product/modelarts.html
点击进入“进入控制台”
在左侧开发环境处,点击Notebook:
点击“创建”,填写配置信息:
名称:自定义(此处我设置的是notebook-yolov3)
工作环境:Python3
资源池:公共资源池
类型:GPU
规格:体验规格GPU(这样就不要花费)
存储配置:云硬盘
这里我说说我对云硬盘与对象存储服务的理解:
云硬盘对应的是云服务器,就如同电脑的自带硬盘,存储在云硬盘的数据可以随时的在云端查看。
对象存储服务就如同移动硬盘,可以随时做资料备份。
按“下一步”确认信息无误,点击“提交”即可:
即可完成创建:
点击“返回Notebook列表”,即看到正在运行的Notebook环境:
点击进入创建的notebook-yolov3中:
点击选择右侧的“New”
点击选择TensorFlow 1.13.1开发环境后,进入下面的页面:
输入下面代码后,点击“Run”进行测试:
print("Hello world!")
成功输出“Hello world!”,说明环境配置正确
2.数据和代码下载
点击“Run”运行下面代码,进行实验代码和实验数据的下载和解压:
下载后的代码和数据保存在了之前设置的云硬盘(EVS)中
这里是已经下载好的文件目录:
3.准备数据
运行以下代码,进行文件路径定义:
读取标注数据:
以下代码是数据读取函数,构建数据生成器。每次读取一个批次的数据至内存训练,并做数据增强:
4.Yolov3模型训练
本实验使用的是Keras深度学习框架搭建YOLOv3神经网络模型。
在实验中可以进入Notebook的管理控制台查看相应的源码实现。
构建神经网络:
点击“Run”,运行界面如下:
可通过如下代码,打印模型各层结构,带您了解模型细节:
训练回调函数定义:
运行如下代码,点击“Run”,即可开始训练:
本次实验设置的batch_size = 16,max_epochs = 2
如何特殊需求的用户,可以在此基础上进行修改:
训练好了后结果如下:
5.Yolov3模型测试
运行以下代码,点击“Run”,打开一张测试图片:
继续输入“image”可看到打开的是哪张图片:
进行图片预处理操作:
继续输入代码:
运行以下代码,构建模型:
加载模型权重,或将模型路径替换成上一步训练得出的模型路径:
定义IOU以及score:
IOU:将交并比大于IOU的边界框作为冗余框去除score:将预测分数大于score的边界框筛选出来
构建输出[boxes, scores, classes]:
依次输入下面的代码段,进行预测:
将预测结果绘制在图片上:
输入“image”可以看到标注好的图片:
利用步骤5进行其它图片测试:
通过对实验结果的比对,可以看出利用
[华为云ModelArts]物体检测效果是很棒的,六个字总结就是-高效,快捷,省心。
正因我们国家有许多像华为这样强大的民族企业在国家背后默默做支撑,做奉献。我们国家才能屹立于世界民族之林。
华为,中国骄傲!中华有为!
- 点赞
- 收藏
- 关注作者
评论(0)