【error】Too many open files

  • Post author:
  • Post category:其他



错误:


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]) )


重新运行


错误解决。



版权声明:本文为ccbrid原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。