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爬虫之打包生成exe文件
Nov 06 Python
举例讲解Python设计模式编程中对抽象工厂模式的运用
Mar 02 Python
利用Python中SocketServer 实现客户端与服务器间非阻塞通信
Dec 15 Python
Python使用add_subplot与subplot画子图操作示例
Jun 01 Python
Django项目开发中cookies和session的常用操作分析
Jul 03 Python
解决python中导入win32com.client出错的问题
Jul 26 Python
python通过opencv实现图片裁剪原理解析
Jan 19 Python
Python字典深浅拷贝与循环方式方法详解
Feb 09 Python
Pycharm 安装 idea VIM插件的图文教程详解
Feb 21 Python
Django Session和Cookie分别实现记住用户登录状态操作
Jul 02 Python
python如何爬取网页中的文字
Jul 28 Python
Python用requests库爬取返回为空的解决办法
Feb 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
全国FM电台频率大全 - 17 湖北省
2020/03/11 无线电
递归删除一个节点以及该节点下的所有节点示例
2014/03/19 PHP
简单解决新浪SAE无法上传文件的问题
2015/05/13 PHP
Zend Framework框架教程之Zend_Db_Table_Rowset用法实例分析
2016/03/21 PHP
Yii框架防止sql注入,xss攻击与csrf攻击的方法
2016/10/18 PHP
在Ubuntu 18.04上安装PHP 7.3 7.2和7.0的方法
2019/04/09 PHP
javascript之卸载鼠标事件的代码
2007/05/14 Javascript
jquery 插件开发备注
2010/08/27 Javascript
DOM基础教程之事件类型
2015/01/20 Javascript
JS+CSS实现可以凹陷显示选中单元格的方法
2015/03/02 Javascript
jQuery实现表单步骤流程导航代码分享
2015/08/28 Javascript
js删除Array数组中指定元素的两种方法
2016/08/03 Javascript
jQuery操作DOM_动力节点Java学院整理
2017/07/04 jQuery
自定义事件解决重复请求BUG的问题
2017/07/11 Javascript
Vue 2.0 中依赖注入 provide/inject组合实战
2019/06/20 Javascript
JavaScript表格隔行变色和Tab标签页特效示例【附jQuery版】
2019/07/11 jQuery
element的el-table中记录滚动条位置的示例代码
2019/11/06 Javascript
Angular封装表单控件及思想总结
2019/12/11 Javascript
深入讲解Java编程中类的生命周期
2016/02/05 Python
python3.6利用pyinstall打包py为exe的操作实例
2018/10/31 Python
python实现多层感知器MLP(基于双月数据集)
2019/01/18 Python
Python命令行参数解析工具 docopt 安装和应用过程详解
2019/09/26 Python
python爬取本站电子书信息并入库的实现代码
2020/01/20 Python
Django 再谈一谈json序列化
2020/03/16 Python
pandas map(),apply(),applymap()区别解析
2021/02/24 Python
animation和transition的区别
2020/10/12 HTML / CSS
canvas绘制文本内容自动换行的实现代码
2019/01/14 HTML / CSS
铭宣海淘转运:美国、日本、英国转运等全球转运公司
2019/09/10 全球购物
罗技英国官方网站:Logitech UK
2020/11/03 全球购物
沙特阿拉伯家用电器和电子产品购物网站:Sheta and Saif
2020/04/03 全球购物
求职信模板
2014/05/23 职场文书
2014国庆节主题活动方案:快乐的国庆节
2014/09/16 职场文书
幼儿园安全教育月活动总结
2015/05/08 职场文书
感恩教育观后感
2015/06/17 职场文书
党员发展大会主持词
2015/07/03 职场文书
大学生创业计划书常用模板
2019/08/07 职场文书