在上一篇已经讲过了在windows下使用CPU进行mindyolo的训练和预测,但是训练时间长(500个图片一个epoch需要15min左右),而且实际上我并没有运行成功predict.py文件,出现了报错且没有去解决。所以我决定使用Ascend来进行训练,所以我将项目迁移到华为云ModelArts上。具体步骤如下:
1、进入华为云,在任意一个地区创建ModelArts的Notebook(我使用的是乌兰察布一,mindspore版本为1.7),选择一个mindspore,Ascend的环境,mindspore版本不要太低就行,初始云硬盘大小设置为10GB及以上。
2、如果在windows已经尝试了运行项目,可以将windows上的完整文件夹压缩后拖进notebook里面,或者在notebook里的终端里按照windows的步骤再进行操作一遍,这里不再重复。
3、在终端里面,安装所需的库,这里可以直接运行train.py文件试试,有可能已经有了所需的库。
4、修改train.py文件里的device为Ascend。
5、修改路径,这里的路径我最开始一直报错,发现好像解析路径的代码文件里并没有解析相对路径的代码,只能解析绝对路径,我这里只能写上完整的数据yaml文件路径。在mydata.yaml文件中,前面那几个weight也要改为绝对路径。建议运行后,哪里报错路径就改哪里就行。运行以下代码。
python train.py --config /home/ma-user/work/mindyolo/datasets/mydata.yaml --epochs=50 --iou_thres=0.6 --conf_thres=0.25
6、进行预测,同样将device改为Ascend,weight我使用了最后一次训练的ckpt文件,这里它不像yolov5那样,保存最优参数和最后的参数,我建议可以修改一下train.py的代码,只保存最优和最好的参数。
python predict.py --config /home/ma-user/work/mindyolo/datasets/mydata.yaml --weight=/home/ma-user/work/mindyolo/runs/2024.11.04-21.18.04/weights/mydata-90_28.ckpt --image_path datasets/images/train/000001.jpg --device_target=Ascend --iou_thres=0.5 --conf_thres=0.01
在ModelArts上运行一个epoch只需要0.25分钟左右,有了极大提升,但是训练效果却不理想,可能还要继续调整。
5010

被折叠的 条评论
为什么被折叠?



