【ModelArts】华为ModelArts训练yolov3模型
1. 项目背景
1.1华为ModelArts平台
ModelArts是面向数据科学家和开发者的一站式AI平台,为机器学习与深度学习提供海量数据预处理及智能标注、大规模分布式训练、自动化模型生成,及端-边-云模型按需部署能力,帮助用户快速创建和部署模型,管理全周期AI工作流。
1.2yolo3模型
“You Only Look Once”是一种使用卷积神经网络进行目标检测的算法。YOLO是其中速度较快的物体检测算法之一。虽然它不是最准确的物体检测算法,但是在需要实时检测并且准确度不需要过高的情况下,它是一个很好的选择。
与识别算法相比,检测算法不仅预测类别标签,还检测对象的位置。因此,它不仅将图像分类到一个类别中,还可以在图像中检测多个对象。该算法将单个神经网络应用于整个图像。这意味着该网络将图像分成区域,并为每个区域预测边界框和概率。这些边界框是由预测的概率加权的。
2.项目流程
2.1准备工作
首先从官方仓库中下载yolov3源代码
然后准备数据集,下载COCO2014数据集,并将数据集上传到OBS
预训练模型下载之后,放入 YoloV3_for_TensorFlow_1.6_code/data/darknet_weights 路径
`
±-- data
| ±-- coco2014_minival.txt
| ±-- coco2014_trainval.txt
| ±-- darknet_weights # 预训练模型所在路径
| | ±-- checkpoint
| | ±-- darknet53.ckpt.data-00000-of-00001
| | ±-- darknet53.ckpt.index
| | ±-- darknet53.ckpt.meta
| | ±-- readme
`
准备源码,根据COCO2014数据集的实际路径使用coco_trainval_anns.py 和 coco_minival_anns.py 分别生成 训练和验证样本标注文件 coco2014_trainval.txt 和 coco2014_minival.txt ,并放置于 YoloV3_for_TensorFlow_1.6_code/data 目录下。
修改源码中的路径
执行 coco_trainval_anns.py
python coco_trainval_anns.py执行 coco_minival_anns.py
python coco_minival_anns.py
参数上基本默认即可
准备好源码之后,上传到obs中。
2.2创建项目
首先创建算法
名称:自定义
描述:自定义
创建方式:自定义脚本
—》AI引擎:Ascend-Powered-Engine,tensorflow_1.15-cann_5.0.3-py_3.7-euler_2.8.3-aarch64
—》代码目录:liulingjun-demo/yolov3/code
启动文件:liulingjun-demo/yolov3/code/train.py
输入数据配置:data_url
输出数据配置:train_url
超参:
—》model,String,
—》batch_size,Integer
—》total_epoches,Integer
在算法设置中调整参数
随后创建训练作业
单击“增加超参”,手动增加超参。配置 代码中的命令行参数值,请根据您编写的算法代码逻辑进行填写,确保参数名称和代码的参数名称保持一致。可填写多个参数。
设置mode模式为:modelarts_single
训练作业一般需要运行一段时间,根据您选择的数据量和资源不同,训练时间将耗时几分钟到几十分钟不等。在ModelArts中创建训练任务,训练脚本会自动将obs中的数据集拷贝到ModelArts容器中,数据集越大耗费时间越长。
训练作业的状态有:等待中,运行中,运行失败,已完成,终止中,已终止。
2.3监控结果
查看资源占用情况
2.4横向对比
yolov4、yolov5与yolov3操作步骤类似,结合本文的操作说明同样进行复现
3.项目总结
本文为入门modelarts和华为云平台的同学提供了一篇无门槛的项目流程,包括项目流程搭建,项目具体实现代码,还有ModeltArts的上手方法环境配置等等,在使用华为ModelArts平台的过程中我也发现了平台的优越性,具有强大的数据管理,开发管理,训练管理和模型部署管理能力,很符合现阶段AI开发的核心功能。
- 点赞
- 收藏
- 关注作者
评论(0)