numpy 内存错误:无法为阵列分配空间

ma8fv8wu  于 2022-11-29  发布在  其他
关注(0)|答案(1)|浏览(1175)

误差

numpy.core._exceptions.MemoryError: Unable to allocate 362. GiB for an array with shape (2700000, 18000) and data type float64

https://www.kaggle.com/datasets/netflix-inc/netflix-prize-data
我的工作在这个Netflix奖数据集,其中有很多电影和用户id我的工作是应用矩阵因式分解,所以我需要创建一个矩阵的2700000 X 18000存储int在范围1到5我尝试了很多方法,但仍然无法创建一个矩阵的大小,试图迫使它成为uint8,但矩阵的形状,我得到的是错误的,请帮助我解决这个问题

yzuktlbb

yzuktlbb1#

您的300万x 20000矩阵最好是稀疏的,否则您将需要一台具有大量内存的计算机。一个完整真实的矩阵的副本将需要几百GB甚至几TB的连续空间。
1.开发更有效的矩阵表示,比如sparse one scipy.sparse.csc_matrix。问题是矩阵是否有大部分的0分数。
1.修改算法以处理子矩阵。

相关问题