我有一个带有act
的大型Numpy矩阵dtype=np.float32
和两个长度相同的向量raw_id
和raw_label
。我想根据raw_id
中的值对所有3个对象进行排序。但是,运行此脚本时出现内存错误。我已在下面的函数中将其隔离到act[sortind,:]
。如何优化内存使用?
arrray act
大致为1400000 x 400
,而raw_id
和raw_label
使用1400000 x 1
为dtype=np.float64
。它几乎适合我的12gb内存以及我初始化的其余变量。
def sort_by_id(act, raw_id, raw_label):
sortind = np.argsort(raw_id)
return act[sortind,:], raw_id[sortind], raw_label[sortind]
# calling function with same variables
act, raw_id, raw_label = sort_by_id(act, raw_id, raw_label)