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 相关文章推荐
python33 urllib2使用方法细节讲解
Dec 03 Python
深入理解python中的闭包和装饰器
Jun 12 Python
Python如何实现文本转语音
Aug 08 Python
python分析作业提交情况
Nov 22 Python
python用户管理系统
Mar 13 Python
Python爬虫实现全国失信被执行人名单查询功能示例
May 03 Python
在Python运行时动态查看进程内部信息的方法
Feb 22 Python
Django的models中on_delete参数详解
Jul 16 Python
K最近邻算法(KNN)---sklearn+python实现方式
Feb 24 Python
Python实现捕获异常发生的文件和具体行数
Apr 25 Python
python中把元组转换为namedtuple方法
Dec 09 Python
Python实现双向链表基本操作
May 25 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
短波问题解答
2021/02/28 无线电
收音机术语解释
2021/03/01 无线电
法压式咖啡之制作法
2021/03/03 冲泡冲煮
php实现的百度搜索某地天气的小偷代码
2014/04/23 PHP
SSO单点登录的PHP实现方法(Laravel框架)
2016/03/23 PHP
PHP实现简单的模板引擎功能示例
2017/09/02 PHP
PHP类的自动加载机制实现方法分析
2019/01/10 PHP
javascript 利用Image对象实现的埋点(某处的点击数)统计
2012/12/28 Javascript
jQuery弹出层始终垂直居中相对于屏幕或当前窗口
2013/04/01 Javascript
JS正则表达式获取分组内容的方法详解
2013/11/15 Javascript
Javascript自定义函数判断网站访问类型是PC还是移动终端
2014/01/10 Javascript
node.js超时timeout详解
2014/11/26 Javascript
JavaScript中用字面量创建对象介绍
2014/12/31 Javascript
jQuery中replaceAll()方法用法实例
2015/01/16 Javascript
JS网页在线获取鼠标坐标值的方法
2015/02/28 Javascript
jQuery实现仿Google首页拖动效果的方法
2015/05/04 Javascript
jQuery往textarea中光标所在位置插入文本的方法
2015/06/26 Javascript
使用jQuery ajaxupload插件实现无刷新上传文件
2017/04/23 jQuery
使用webpack编译es6代码的方法步骤
2019/04/28 Javascript
Vue使用Element实现增删改查+打包的步骤
2020/11/25 Vue.js
[04:50]2019DOTA2高校联赛秋季赛四强集锦
2019/12/27 DOTA
浅析python协程相关概念
2018/01/20 Python
Python使用Phantomjs截屏网页的方法
2018/05/17 Python
用Django写天气预报查询网站
2018/10/21 Python
基于Python实现定时自动给微信好友发送天气预报
2018/10/25 Python
python获取微信小程序手机号并绑定遇到的坑
2018/11/19 Python
python 获取url中的参数列表实例
2018/12/18 Python
python 画三维图像 曲面图和散点图的示例
2018/12/29 Python
在Python中调用Ping命令,批量IP的方法
2019/01/26 Python
深度辨析Python的eval()与exec()的方法
2019/03/26 Python
在DELPHI中调用存储过程和使用内嵌SQL哪种方式更好
2016/11/22 面试题
中医专业应届生求职信
2013/11/17 职场文书
食品安全宣传标语
2014/06/07 职场文书
采购部长岗位职责
2014/06/13 职场文书
浅谈Python实现opencv之图片色素的数值运算和逻辑运算
2021/06/23 Python
PyTorch中的torch.cat简单介绍
2022/03/17 Python