[英]Efficient way of importing images in Python
我有一个大约22,000张图像的数据集(整个数据大约900 Mb),我想将其导入Python以训练CNN。
我使用以下代码将其导入并将其全部保存在名为X的数组中:
import scipy.misc as sm
for i in range (start, end):
imageLink = "./dataSet/" + str(dataSet[i, 0]) + "/" + str(dataSet[i, 1])
image = sm.imread(imageLink)
X = np.append(X, image, axis = 0)
这有一些问题,
非常慢。 大约30分钟,仅将大约1000张图像导入python,随着图像数量的增加,速度会变慢。
它占用大量RAM。 导入大约2000张图像大约需要16 GB的RAM(我的机器只有16GB,所以我最终使用了交换内存,这使它的运行速度变慢了)。
图像尺寸均为640×480。
我是在做错事还是正常现象? 有没有更好/更快的导入图像的方法?
谢谢。
以下是针对此类任务的一些一般建议:
imread
到numpy的数据结构与所有需要正常化步骤。 将Numpy对象存储到磁盘,以便您的主要培训过程只需使用numpy.fromfile()
即可读取它们。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.