我有一个大约22000个图像的数据集(整个过程大约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中,并且随着图像数量的增加,导入速度会变慢。
它占用了很多内存。导入大约2000个图像需要大约16GB的RAM(我的机器只有16GB,所以我最终使用了交换内存,我想这会使它更慢)。
图片大小均为640××480。你知道吗
我做错什么了还是这很正常?有没有更好/更快的方法导入图像?你知道吗
谢谢你。你知道吗
以下是针对这类任务的一些一般性建议:
imread
读取的JPEG图像转换为Numpy数据结构,并执行所有必需的规范化步骤。将Numpy对象存储到磁盘,这样您的主要训练过程只需要使用numpy.fromfile()
读取它们。你知道吗相关问题 更多 >
编程相关推荐