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进阶教程之函数对象(函数也是对象)
Aug 30 Python
约瑟夫问题的Python和C++求解方法
Aug 20 Python
深入解析Python编程中super关键字的用法
Jun 24 Python
Python脚本获取操作系统版本信息
Dec 17 Python
使用pyecharts在jupyter notebook上绘图
Apr 23 Python
Python3.5编程实现修改IIS WEB.CONFIG的方法示例
Aug 18 Python
matplotlib.pyplot画图 图片的二进制流的获取方法
May 24 Python
python实现俄罗斯方块游戏
Mar 25 Python
Anaconda之conda常用命令介绍(安装、更新、删除)
Oct 06 Python
Pytorch to(device)用法
Jan 08 Python
django实现HttpResponse返回json数据为中文
Mar 27 Python
TensorFlow实现批量归一化操作的示例
Apr 22 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验证码代码
2012/02/27 PHP
解析php php_openssl.dll的作用
2013/07/01 PHP
一个简单安全的PHP验证码类 附调用方法
2016/06/24 PHP
浅谈php中变量的数据类型判断函数
2017/03/04 PHP
javascript concat数组累加 示例
2009/09/03 Javascript
jquery链式操作的正确使用方法
2014/01/06 Javascript
js转化毫秒为时间格式代码
2014/04/10 Javascript
jQuery实现图片左右滚动特效
2020/04/20 Javascript
Angularjs中UI Router全攻略
2016/01/29 Javascript
Bootstrap3 Grid system原理及应用详解
2016/09/30 Javascript
nodejs利用ajax实现网页无刷新上传图片实例代码
2017/06/06 NodeJs
jquery获取链接地址和跳转详解(推荐)
2017/08/15 jQuery
深入解析Vue源码实例挂载与编译流程实现思路详解
2019/05/05 Javascript
JS算法题之查找数字在数组中的索引位置
2019/05/15 Javascript
vue使用@scroll监听滚动事件时,@scroll无效问题的解决方法详解
2019/10/15 Javascript
[58:58]2018DOTA2亚洲邀请赛 4.4 淘汰赛 TNC vs VG 第二场
2018/04/05 DOTA
python常用web框架简单性能测试结果分享(包含django、flask、bottle、tornado)
2014/08/25 Python
python的unittest测试类代码实例
2017/12/07 Python
python通过getopt模块如何获取执行的命令参数详解
2017/12/29 Python
python实现按长宽比缩放图片
2018/06/07 Python
Python中Proxypool库的安装与配置
2018/10/19 Python
Python3 实现爬取网站下所有URL方式
2020/01/16 Python
Django之富文本(获取内容,设置内容方式)
2020/05/21 Python
Python趣味实例,实现一个简单的抽奖刮刮卡
2020/07/18 Python
pycharm中使用request和Pytest进行接口测试的方法
2020/07/31 Python
优秀中专生推荐信
2013/11/17 职场文书
副总经理工作职责
2013/11/28 职场文书
汽车专业人才自我鉴定范文
2013/12/29 职场文书
高一家长会邀请函
2014/01/12 职场文书
员工薪酬福利制度
2014/01/17 职场文书
团队经理竞聘书
2014/03/31 职场文书
《草原的早晨》教学反思
2014/04/08 职场文书
2015年街道除四害工作总结
2015/05/15 职场文书
圣贤教育改变命运观后感
2015/06/16 职场文书
在 Python 中利用 Pool 进行多线程
2022/04/24 Python
Android存储中最基本的文件存储方式
2022/04/30 Java/Android