Python numpy大矩阵运算内存不足如何解决


Posted in Python onNovember 19, 2020

程序运行,产生如下结果,然后进程终止,导致这一结果的原因很有可能是内存爆炸。

Python numpy大矩阵运算内存不足如何解决

当两个较大的 (e.g., 10000*10000 维)ndarray 做运算(加法,or 乘法)时,很容易出现这样的结果.
解决办法:

  • 大多数情况下,这种大矩阵都是稀疏的。尽可能地利用稀疏计算的方式,例如稀疏矩阵,或者只计算非 0 位置的值。
  • 如果都是整数运算,可以设置 dtype=int,而非 dtype=float, 可以省下不少空间。

linux 系统下,使用 top 命令,可以很容易地看到内存(%MEM) 的使用情况。

Python numpy大矩阵运算内存不足如何解决

# 代码段 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]

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python模拟用户登录验证
Sep 11 Python
numpy找出array中的最大值,最小值实例
Apr 03 Python
Python实现决策树C4.5算法的示例
May 30 Python
为什么str(float)在Python 3中比Python 2返回更多的数字
Oct 16 Python
对Python中Iterator和Iterable的区别详解
Oct 18 Python
使用Python的SymPy库解决数学运算问题的方法
Mar 27 Python
python3用PIL把图片转换为RGB图片的实例
Jul 04 Python
在python Numpy中求向量和矩阵的范数实例
Aug 26 Python
django实现用户注册实例讲解
Oct 30 Python
浅谈python3 构造函数和析构函数
Mar 12 Python
Jupyter notebook无法导入第三方模块的解决方式
Apr 15 Python
Python使用re模块验证危险字符
May 21 Python
python3 os进行嵌套操作的实例讲解
Nov 19 #Python
如何创建一个Flask项目并进行简单配置
Nov 18 #Python
使用PyCharm官方中文语言包汉化PyCharm
Nov 18 #Python
Python web框架(django,flask)实现mysql数据库读写分离的示例
Nov 18 #Python
PyCharm最新激活码PyCharm2020.2.3有效
Nov 18 #Python
python实现图片,视频人脸识别(dlib版)
Nov 18 #Python
python实现图片,视频人脸识别(opencv版)
Nov 18 #Python
You might like
CodeIgniter常用知识点小结
2016/05/26 PHP
php及codeigniter使用session-cookie的方法(详解)
2017/04/06 PHP
使用一个for循环将N*N的二维数组的所有值置1实现方法
2017/05/29 PHP
Aster vs KG BO3 第三场2.18
2021/03/10 DOTA
jQuery Validation实例代码 让验证变得如此容易
2010/10/18 Javascript
nodejs批量修改文件编码格式
2015/01/22 NodeJs
第五章之BootStrap 栅格系统
2016/04/25 Javascript
AngularJs解决跨域问题案例详解(简单方法)
2016/05/19 Javascript
Node.js服务器环境下使用Mock.js拦截AJAX请求的教程
2016/05/23 Javascript
JS简单实现仿百度控制台输出信息效果
2016/09/04 Javascript
JQuery Ajax WebService传递参数的简单实例
2016/11/02 Javascript
jQuery实现对网页节点的增删改查功能示例
2017/09/18 jQuery
js实现随机点名系统(实例讲解)
2017/10/18 Javascript
通过封装scroll.js 获取滚动条的值
2018/07/13 Javascript
解决element-ui里的下拉多选框 el-select 时,默认值不可删除问题
2020/08/14 Javascript
[01:09]2014DOTA2国际邀请赛 TI4西雅图DOTA2 中国美女coser加油助威
2014/07/20 DOTA
老生常谈python的私有公有属性(必看篇)
2017/06/09 Python
python对DICOM图像的读取方法详解
2017/07/17 Python
神经网络python源码分享
2017/12/15 Python
Python用csv写入文件_消除空余行的方法
2018/07/06 Python
在Python中Dataframe通过print输出多行时显示省略号的实例
2018/12/22 Python
Django框架登录加上验证码校验实现验证功能示例
2019/05/23 Python
通过Python实现Payload分离免杀过程详解
2020/07/13 Python
python 爬取B站原视频的实例代码
2020/09/09 Python
python中time tzset()函数实例用法
2021/02/18 Python
电气个人求职信范文
2014/02/04 职场文书
幼儿园教师获奖感言
2014/03/11 职场文书
商务日语专业自荐信
2014/04/17 职场文书
甘南现象心得体会
2014/09/11 职场文书
民主评议党员自我评价材料
2014/09/18 职场文书
法院干警四风问题个人对照检查材料思想汇报
2014/10/07 职场文书
委托公证书样本
2015/01/23 职场文书
2015暑假社会调查报告
2015/07/13 职场文书
2015国庆66周年宣传语
2015/07/14 职场文书
Python使用sql语句对mysql数据库多条件模糊查询的思路详解
2021/04/12 Python
Python实战之用tkinter库做一个鼠标模拟点击器
2021/04/27 Python