Python numpy大矩阵运算内存不足如何解决
作者:Gelthin 时间:2022-08-06 22:38:21
程序运行,产生如下结果,然后进程终止,导致这一结果的原因很有可能是内存 * 。
当两个较大的 (e.g., 10000*10000 维)ndarray 做运算(加法,or 乘法)时,很容易出现这样的结果.
解决办法:
大多数情况下,这种大矩阵都是稀疏的。尽可能地利用稀疏计算的方式,例如稀疏矩阵,或者只计算非 0 位置的值。
如果都是整数运算,可以设置 dtype=int,而非 dtype=float, 可以省下不少空间。
linux 系统下,使用 top 命令,可以很容易地看到内存(%MEM) 的使用情况。
# 代码段 1, true_similarity_matrix 是 int, similarity_matrix 是 float
tmp_matrix = similarity_matrix * true_similarity_matrix # 内存会炸掉,两个 10000*10000 维 float array
num_correct_edge = sum(sum(tmp_matrix))
# 代码段 2
for i in range():
for j in range():
set_true_ij.append(i,j)
num_correct_edge = 0
for i, j in set_true_ij:
num_correct_edge += similarity_matrix[i,j]
来源:https://www.cnblogs.com/Gelthin2017/p/13943810.html
标签:Python,numpy,矩阵,运算,内存
0
投稿
猜你喜欢
一个挺酷的星级投票效果
2010-08-03 12:44:00
MySQL 函数过程递归
2008-07-25 19:32:00
python动态加载变量示例分享
2022-10-23 18:57:50
非常不错的[JS]Cookie精通之路第1/2页
2023-09-04 04:04:34
ASP设计常见问题及解答精要
2009-04-21 11:16:00
Python random库使用方法及异常处理方案
2023-10-07 13:43:46
Python单元测试_使用装饰器实现测试跳过和预期故障的方法
2022-07-27 17:53:44
MySQL中SQL的单字节注入与宽字节注入
2009-03-25 14:49:00
python 详解如何使用GPU大幅提高效率
2023-08-24 19:45:46
MSSQL存储过程分页,ASP存储过程分页
2009-09-11 12:50:00
python网络爬虫实战
2021-04-16 13:31:07
python 负数取模运算实例
2022-06-17 00:50:49
CSS鼠标悬停tip效果
2007-08-26 17:32:00
如何在Win下mysql备份恢复命令
2010-03-03 17:23:00
pyqt5移动鼠标显示坐标的方法
2023-06-09 22:37:30
用SQL统计SQLServe表存储空间大小的代码
2012-06-06 19:52:22
Python使用base64模块进行二进制数据编码详解
2023-08-26 20:13:13
导航与搜索合并的可能性
2009-09-27 12:06:00
Python依赖包整体迁移方法详解
2022-11-03 05:32:55
python中Flask框架简单入门实例
2021-04-26 05:14:50