在Python中计算大数组的协方差矩阵给出内存错误

问题描述 投票:0回答:1

我有一个形状为 [128000,2] 的数组,并想在 Python [Mac OS,8GB RAM,64 位] 中计算它的协方差矩阵。我实际上有最多 10 列,但为了简单起见,只用 2 列进行测试。

使用 numpy.cov() 会出现内存错误/进程在运行大约 5 分钟后被终止。

a = np.fromfile(filelocation,dtype=np.complex64) # length of 128000
b = np.fromfile(filelocation,dtype=np.complex64) # length of 128000

Q = np.vstack([a,b]).T
COV = np.cov(Q)

我在这个网站上搜索了其他类似的问题,其中很少有人建议使用内存映射。但我不清楚我到底应该如何使用带有协方差的内存映射作为输入。

如果有人能让我知道如何准确使用 memmap 来实现此目的,或者有任何更好的方法来计算数组的协方差,那将会很有帮助。

python numpy covariance
1个回答
0
投票

可以尝试批量学习(例如使用tensorflow + keras编码),根据您的目标在神经网络中创建自动编码器层

© www.soinside.com 2019 - 2024. All rights reserved.