image_size must contain 3 elements[4]

今天在制作自己训练集合并且训练的时候,碰见了如下的错:

image_size must contain 3 elements[4]

这是因为训练的数据集中不是所有的图片位深都是三通道的。
写一个脚本查看所有的数据集中所有的数据,列举出不是RGB的图片:

from PIL import Image     
import os       
path = '/home/seven/cy_folder/data/plane/' #图片目录 
for file in os.listdir(path):      
     extension = file.split('.')[-1]
     if extension == 'jpg':
           fileLoc = path+file
           img = Image.open(fileLoc)
           if img.mode != 'RGB':
                 print(file+', '+img.mode)

然后删除这些图片,可以重新找一些图片添加到训练集中。
这里需要特别注意的一点是不是所有的.jpg文件都是三通道的。

原文地址:https://www.cnblogs.com/chay/p/10447718.html