【发布时间】:2018-02-22 18:11:42
【问题描述】:
我有一组适合的图像:大约 32000 张图像,分辨率为 (256,256)。我要构建的数据集类似于矩阵,因此输出形状为 (32000, 256*256)。
简单的解决方案是for 循环,类似:
#file_names is a list of paths
samples=[]
for file_name in file_names:
hdu=pyfits.open(file_name)
samples.append(hdu[0].data.flatten())
hdu.close()
#then i can use numpy.concatenate to have a numpy ndarray
这个解决方案非常非常慢。 那么构建如此大的数据集的最佳解决方案是什么?
【问题讨论】:
-
如果你注释掉 samples.append 部分并运行它仍然很慢吗?如果是这样,那么这表明您在打开和关闭 FITS 文件时遇到了瓶颈。您也可以尝试使用 astropy FITS 阅读器docs.astropy.org/en/stable/io/fits/…。
标签: python python-3.x dataset pyfits