用SSD训练自己的数据集时报错

时间:2022-01-12 17:09:17

训练时出现如下错误:

F1023 20:58:25.679929 10640 annotated_data_layer.cpp:205] Check failed: std::equal(top_shape.begin() + 1, top_shape.begin() + 4, shape.begin() + 1) 

这是因为数据集里有些图片不是RGB格式,用python脚本把所有图片全部转化:

from PIL import Image
import os
#读取原始文件夹里的图片
path = "/raid/wangw/mydata/V1/VOCdevkit/VOC2007/JPEGImages/"
for filename in os.listdir(path): #os.listdir()返回指定文件夹包含的文件或者文件夹的名字的列表,以字母顺序
    try:
        img = Image.open(path+filename)
        img = img.convert("RGB")
        img.save("/raid/wangw/mydata/V1/VOCdevkit/VOC2007/Images/"+filename,"PNG")
    except:
        print("This file format is not support")

记得修改对应的路径,并新建一个images的文件夹用来存储转换后的图片