在Python中导入图像的有效方法
我有一个大约22000个图像的数据集(整个数据集大约900MB),我想将它导入Python来训练CNN 我使用以下代码将其导入并保存在一个名为X的数组中:在Python中导入图像的有效方法,python,performance,image-processing,Python,Performance,Image Processing,我有一个大约22000个图像的数据集(整个数据集大约900MB),我想将它导入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 =
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)
这其中有一些问题
多谢各位 以下是针对此类任务的一些一般建议:
imread
读取的JPEG图像转换为Numpy数据结构,并执行所有必需的规范化步骤。将Numpy对象存储到磁盘,以便您的主要培训过程只需要使用Numpy.fromfile()
读取它们啊,我明白了。这真的很有帮助。非常感谢你!嗯,附加到数组/列表并不快,可能会占用内存。请注意,追加实际上是整个数组的副本,并在末尾添加新元素。相反,因为您知道数组的大小(您知道要使用多少图像),所以可以预先分配数组(np.zeros()或np.empty())并使用索引将其放置在数组中。应该会加快你的循环速度,也可能有助于解决内存问题…我明白了。我不知道。我会做出改变。非常感谢。让我们知道改变的影响有多大……好吧,就这样吧!