pytorch报错:ValueError: num_samples should be a positive integer value, but got num_samples=0

最近在训练网络的时候,报错ValueError: num_samples should be a positive integer value, but got num_samples=0。

经过调试发现,这是在dataloader环节出现了问题。在数据读取时一个判断写的越界了,如下所示

def make_dataset(dir, opt):
    images = []
    assert os.path.isdir(dir), '%s is not a valid directory' % dir
    fileList = sorted(os.walk(dir))    
    for root, _, fnames in fileList:
        for fname in fnames:
            if is_image_file(fname):
                path = os.path.join(root, fname)
                if ((opt.phase=='test') or (opt.phase=='train') and min(Image.open(path).size) >= 512):
                    images.append(path)        
    return images

当加载的图片小于512就会报错,把判断改小就解决了bug。

所以出现这个报错,就说明是训练数据没有加载成功,检查数据加载的相关程序。

你可能感兴趣的:(深度学习,pytorch,计算机视觉CV)