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异步回调机制实现和使用方法
Nov 26 Python
Python实现多线程抓取妹子图
Aug 08 Python
详解设计模式中的工厂方法模式在Python程序中的运用
Mar 02 Python
深入浅析python继承问题
May 29 Python
python实现简单爬虫功能的示例
Oct 24 Python
python实现淘宝秒杀聚划算抢购自动提醒源码
Jun 23 Python
python绘制漏斗图步骤详解
Mar 04 Python
python GUI库图形界面开发之PyQt5控件数据拖曳Drag与Drop详细使用方法与实例
Feb 27 Python
解决jupyter运行pyqt代码内核重启的问题
Apr 16 Python
python上selenium的弹框操作实现
Jul 13 Python
Scrapy项目实战之爬取某社区用户详情
Sep 17 Python
python turtle绘图
May 04 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
PHP新手上路(八)
2006/10/09 PHP
PHP syntax error, unexpected $end 错误的一种原因及解决
2008/10/25 PHP
php xml留言板 xml存储数据的简单例子
2009/08/24 PHP
php中使用redis队列操作实例代码
2013/02/07 PHP
php正则表达式基本知识与应用详解【经典教程】
2017/04/17 PHP
PHP的imageTtfText()函数深入详解
2021/03/03 PHP
读jQuery之七 判断点击了鼠标哪个键的代码
2011/06/21 Javascript
JAVASCRIPT车架号识别/验证函数代码 汽车车架号验证程序
2012/01/08 Javascript
THREE.JS入门教程(6)创建自己的全景图实现步骤
2013/01/25 Javascript
js控制表单奇偶行样式的简单方法
2013/07/31 Javascript
Angularjs 基础入门
2014/12/26 Javascript
javascript运算符语法全面概述
2016/07/14 Javascript
js实现控制textarea输入字符串的个数,鼠标按下抬起判断输入字符数
2016/10/25 Javascript
JS判断是否手机或pad访问实现方法
2016/12/09 Javascript
详解vue-cli 脚手架项目-package.json
2017/07/04 Javascript
Angular动态绑定样式及改变UI框架样式的方法小结
2018/09/03 Javascript
[47:53]DOTA2上海特级锦标赛主赛事日 - 1 败者组第一轮#2COL VS Spirit
2016/03/02 DOTA
Python批量按比例缩小图片脚本分享
2015/05/21 Python
pandas的唯一值、值计数以及成员资格的示例
2018/07/25 Python
python PrettyTable模块的安装与简单应用
2019/01/11 Python
python实现桌面壁纸切换功能
2019/01/21 Python
解决python super()调用多重继承函数的问题
2019/06/26 Python
Django ORM 聚合查询和分组查询实现详解
2019/08/09 Python
Python+appium框架原生代码实现App自动化测试详解
2020/03/06 Python
python实现数字炸弹游戏程序
2020/07/17 Python
Python 使用Opencv实现目标检测与识别的示例代码
2020/09/08 Python
CSS3系列之3D制作方法案例
2017/08/14 HTML / CSS
使用CSS3 制作一个material-design 风格登录界面实例
2016/12/12 HTML / CSS
与世界上最好的跑步专业品牌合作:Fleet Feet
2019/03/22 全球购物
造型师求职自荐信
2013/09/27 职场文书
大学同学聚会邀请函
2014/01/29 职场文书
预备党员政审材料
2014/02/04 职场文书
护理专科学生自荐书
2014/07/05 职场文书
2014年党课学习心得体会
2014/07/08 职场文书
数学考试作弊检讨书300字
2015/02/16 职场文书
Pytest中conftest.py的用法
2021/06/27 Python