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删除指定类型(或非指定)的文件实例详解
Jul 06 Python
Python实现合并字典的方法
Jul 07 Python
浅析Python函数式编程
Oct 06 Python
python+pyqt5实现KFC点餐收银系统
Jan 24 Python
PythonWeb项目Django部署在Ubuntu18.04腾讯云主机上
Apr 01 Python
利用Python查看微信共同好友功能的实现代码
Apr 24 Python
python将字母转化为数字实例方法
Oct 04 Python
Python3 虚拟开发环境搭建过程(图文详解)
Jan 06 Python
Jupyter notebook运行Spark+Scala教程
Apr 10 Python
Python 实现进度条的六种方式
Jan 06 Python
python 统计list中各个元素出现的次数的几种方法
Feb 20 Python
python多线程方法详解
Jan 18 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
一个改进的UBB类
2006/10/09 PHP
Laravel 模型使用软删除-左连接查询-表起别名示例
2019/10/24 PHP
js 实现的可折叠留言板(附源码下载)
2014/07/01 Javascript
使用Node.js为其他程序编写扩展的基本方法
2015/06/23 Javascript
jquery正则表达式验证(手机号、身份证号、中文名称)
2015/12/31 Javascript
如何解决手机浏览器页面点击不跳转浏览器双击放大网页
2016/07/01 Javascript
Javascript学习之谈谈JS的全局变量跟局部变量(推荐)
2016/08/28 Javascript
AngularJS自定义插件实现网站用户引导功能示例
2016/11/07 Javascript
AngularJS动态绑定HTML的方法分析
2016/11/07 Javascript
微信小程序之ES6与事项助手的功能实现
2016/11/30 Javascript
ES6新特性之解构、参数、模块和记号用法示例
2017/04/01 Javascript
vue 实现复制内容到粘贴板clipboard的方法
2018/03/17 Javascript
vue实现点击隐藏与显示实例分享
2019/02/13 Javascript
JavaScript中关于base64的一些事
2019/05/06 Javascript
django 自定义用户user模型的三种方法
2014/11/18 Python
教你用Python脚本快速为iOS10生成图标和截屏
2016/09/22 Python
Python基于QRCode实现生成二维码的方法【下载,安装,调用等】
2017/07/11 Python
详解程序意外中断自动重启shell脚本(以Python为例)
2019/07/26 Python
python实现人像动漫化的示例代码
2020/05/17 Python
浅谈keras中的后端backend及其相关函数(K.prod,K.cast)
2020/06/29 Python
重构Python代码的六个实例
2020/11/25 Python
谈一谈HTML5本地存储技术
2016/03/02 HTML / CSS
英国灯具和灯泡网上商店:Lights.co.uk
2018/02/02 全球购物
意大利高端时尚买手店:Stefania Mode
2018/03/01 全球购物
全球性的在线婚纱礼服工厂:27dress.com
2019/03/21 全球购物
电子商务应届生求职信
2013/11/16 职场文书
园林技术个人的自我评价
2014/02/15 职场文书
3.15国际消费者权益日主题活动活动总结
2014/03/16 职场文书
部门年终奖分配方案
2014/05/07 职场文书
校园安全演讲稿
2014/05/09 职场文书
具结保证书
2015/01/17 职场文书
安全教育观后感
2015/06/17 职场文书
如何书写读后感?(附范文)
2019/07/26 职场文书
我收到了德劲DE1107
2022/04/05 无线电
Java中的继承、多态以及封装
2022/04/11 Java/Android
详解OpenCV获取高动态范围(HDR)成像
2022/04/29 Python