问题描述:
运行环境:Atlas 800 9000 CANN20.2
batch_size: 4,8,16,32(四种分别尝试过,都在一个epoch训练了80%左右报这个错了)
数据集:coco2017
模型:Model_zoo YOLOv4_Cspdarknet53 (配置都是用的默认的)
解决方案:
从错误截图中初步分析的结论是,数据集可能不完整或是有错误,导致一定step之后再也无法迭代出数据进行训练了。
我们建议按照如下方式排查故障:
1、确保coco2017数据集来源正确,mindspore model_zoo中yolo v4 README提供了coco数据集的官方下载链接:COCO - Common Objects in Context
2、上述错误一般源于src/yolo_dataset.py读取coco数据集时发生了错误,建议采用如下方式进行排查:
在src/yolo_dataset.py的代码底部增加如下调试代码:
from src.config import ConfigYOLOV3DarkNet53
if __name__ == '__main__':
config = ConfigYOLOV3DarkNet53()
config.label_smooth = 0
config.label_smooth_factor = 0.1
image_dir = "/your_path/coco2017/train2017"
anno_path = "/your_path/coco2017/annotations/instances_train2017.json"
yolo_dataset = COCOYoloDataset(image_dir, anno_path)
nums = 0
for data in yolo_dataset:
nums += 1
print("nums is ", nums)
以上代码主要用于调试COCOYoloDataset,正常情况下,yolo_dataset是可以正确完整输出所有数据的,请参照以上调试代码,确保读取coco数据集完整无误。