为了账号安全,请及时绑定邮箱和手机立即绑定

如何处理巨大的 numpy 数组的计算以避免内存分配错误?

如何处理巨大的 numpy 数组的计算以避免内存分配错误?

catspeake 2022-07-26 16:25:51
我需要一个大小为(62500 x 62500)的负单位矩阵。使用 numpy 声明一个正常的单位矩阵就像一个魅力:eye = np.eye(62500, 62500)但是,做这样的事情negative_eye1 = np.negative(np.eye(62500, 62500))# ornegative_eye2 = np.eye(62500, 62500) * -1将导致此错误无法分配形状 (62500, 62500) 和数据类型 float64 的数组然后在scipy.sparse.bmat()函数中使用该矩阵,从而生成一个 csr 矩阵,其中内存不再是这样的问题。如何计算这个矩阵?
查看完整描述

1 回答

?
萧十郎

TA贡献1815条经验 获得超13个赞

您可以使用scipy.sparse.eye(对角线上的稀疏矩阵):


from scipy import sparse


negative_eye = -sparse.eye(62500, 62500)


查看完整回答
反对 回复 2022-07-26
  • 1 回答
  • 0 关注
  • 76 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信