【error】Too many open files

错误:

Python错误提示:[Errno 24] Too many open files

上网查找解决方案:

http://www.jb51.net/article/105751.htm中写道

出现错误的原因是系统默认限制为同时打开1024个文件,这对该程序来说太少了,才会报错

建议解决方案为修改系统默认同时打开文件的次数。


但在我的程序中:

按照网上普遍方案修改系统默认同时打开文件的次数,并没有用。

查看代码,涉及到的需要打开文件的只有image.open()

但对于image.open()函数,不用close。他自己会在读入内存后自然释放掉。

所以考虑,并不是同一个原因。


程序代码:

    labels = []
    for batch_idx, (image, label) in enumerate(test_loader, 1):        
        # print(type(label)) #          <class 'torch.LongTensor'> 
        labels.append(label)

此处添加到list中的label均为 <class 'torch.LongTensor'>


修改代码:

    labels = []
    for batch_idx, (image, label) in enumerate(test_loader, 1):         
        # print(type(label.cpu().numpy()[0][0])) # <type 'numpy.int64'>
        # print(type(int(label.cpu().numpy()[0][0]))) # <type 'numpy.int64'>  
        labels.append(int(label.cpu().numpy()[0][0]) )


重新运行

错误解决。



猜你喜欢

转载自blog.csdn.net/ccbrid/article/details/79853834