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 06 Python
Python的“二维”字典 (two-dimension dictionary)定义与实现方法
Apr 27 Python
全面理解Python中self的用法
Jun 04 Python
python编写朴素贝叶斯用于文本分类
Dec 21 Python
Python 互换字典的键值对实例
Feb 12 Python
python实现比对美团接口返回数据和本地mongo数据是否一致示例
Aug 09 Python
基于python读取.mat文件并取出信息
Dec 16 Python
Python sys模块常用方法解析
Feb 20 Python
python爬虫开发之PyQuery模块详细使用方法与实例全解
Mar 09 Python
Python实现清理微信僵尸粉功能示例【基于itchat模块】
May 29 Python
Python数据库封装实现代码示例解析
Sep 05 Python
Python面试不修改数组找出重复的数字
May 20 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
ThinkPHP使用Ueditor的方法详解
2016/05/20 PHP
PHP5.0 TIDY_PARSE_FILE缓冲区溢出漏洞的解决方案
2018/10/14 PHP
pjblog修改技巧汇总
2007/03/12 Javascript
一段利用WSH获取登录时间的jscript代码
2008/05/11 Javascript
JavaScript 计算当天是本年本月的第几周
2009/03/22 Javascript
jquery如何改变html标签的样式(两种实现方法)
2013/01/16 Javascript
js通过地址栏给action传值(中文乱码全是问号)
2013/05/02 Javascript
jQuery之选择组件的深入解析
2013/06/19 Javascript
NodeJS制作爬虫全过程
2014/12/22 NodeJs
面向切面编程(AOP)的理解
2015/05/01 Javascript
JS 根据子网掩码,网关计算出所有IP地址范围示例
2020/04/23 Javascript
原生JS实现垂直手风琴效果
2017/02/19 Javascript
浅谈vue+webpack项目调试方法步骤
2017/09/11 Javascript
基于bootstrap页面渲染的问题解决方法
2018/08/09 Javascript
详解在微信小程序的JS脚本中使用Promise来优化函数处理
2019/03/06 Javascript
JQuery+drag.js上传图片并且实现图片拖曳
2020/11/18 jQuery
[00:32]2018DOTA2亚洲邀请赛Secret出场
2018/04/03 DOTA
在python环境下运用kafka对数据进行实时传输的方法
2018/12/27 Python
python实现列表的排序方法分享
2019/07/01 Python
浅谈python图片处理Image和skimage的区别
2019/08/04 Python
Python 基于FIR实现Hilbert滤波器求信号包络详解
2020/02/26 Python
如何通过python检查文件是否被占用
2020/12/18 Python
Python爬虫爬取微博热搜保存为 Markdown 文件的源码
2021/02/22 Python
html5 input元素新特性_动力节点Java学院整理
2017/07/06 HTML / CSS
运动服饰每月订阅盒:Ellie
2018/04/29 全球购物
标记环介质访问控制协议
2016/03/27 面试题
简单说下OSPF的操作过程
2014/08/13 面试题
七一党日活动总结
2014/07/08 职场文书
党支部活动策划方案
2014/08/18 职场文书
正规借条模板
2015/05/26 职场文书
纪律委员竞选稿
2015/11/19 职场文书
导游词之秦始皇兵马俑博物馆
2019/09/29 职场文书
sql通过日期判断年龄函数的示例代码
2021/07/16 SQL Server
纯html+css实现奥运五环的示例代码
2021/08/02 HTML / CSS
把77A收信机改造成收音机
2022/04/05 无线电
Go gorilla securecookie库的安装使用详解
2022/08/14 Golang