错误:
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]) )
错误解决。