numpy 高效地对大型图像数据矩阵求和

332nm8kg  于 2023-08-05  发布在  其他
关注(0)|答案(2)|浏览(62)

如何最有效地对大型(100, 1024, 1024) .npz文件求和?有没有更好的文件格式来存储给定维度的python数据?
我现在用它来对矩阵求和:

summed_matrix = np.sum([np.load(file) for file in files_list])

字符串
这超出了我的可用内存。

i5desfxk

i5desfxk1#

目前,您正在一次加载所有文件,然后才开始求和。如果内存是一个问题,更好的方法是一次读取并添加一个:

summed_matrix = np.zeros((100, 1024, 1024))

for file in files_list:
    summed_matrix += np.load(file)

字符串

llycmphe

llycmphe2#

你可以尝试使用functools.reducenumpy.add生成器:

from functools import reduce

summed_matrix = reduce(np.add, (np.load(file) for file in files_list))

# or functional-style
summed_matrix = reduce(np.add, map(np.load, files_list))

字符串

相关问题