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装饰器在Django框架下去除冗余代码的教程
Apr 16 Python
Python3搜索及替换文件中文本的方法
May 22 Python
Python内存管理方式和垃圾回收算法解析
Nov 11 Python
Python人脸识别初探
Dec 21 Python
网红编程语言Python将纳入高考你怎么看?
Jun 07 Python
Python运维之获取系统CPU信息的实现方法
Jun 11 Python
详解Python并发编程之创建多线程的几种方法
Aug 23 Python
将python2.7添加进64位系统的注册表方式
Nov 20 Python
numpy ndarray 取出满足特定条件的某些行实例
Dec 05 Python
有关Tensorflow梯度下降常用的优化方法分享
Feb 04 Python
在终端启动Python时报错的解决方案
Nov 20 Python
Python使用paramiko连接远程服务器执行Shell命令的实现
Mar 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制作简单的内容采集器的原理分析
2008/10/01 PHP
php 过滤危险html代码
2009/06/29 PHP
php中session使用示例
2014/03/29 PHP
Yii数据库缓存实例分析
2016/03/29 PHP
PHP上传Excel文件导入数据到MySQL数据库示例
2016/10/25 PHP
php下的原生ajax请求用法实例分析
2020/02/28 PHP
jQuery scrollFix滚动定位插件
2015/04/01 Javascript
mvvm双向绑定机制的原理和实现代码(推荐)
2016/06/07 Javascript
谈谈JavaScript中的几种借用方法
2016/08/09 Javascript
浅谈JS运算符&&和|| 及其优先级
2016/08/10 Javascript
微信小程序 触控事件详细介绍
2016/10/17 Javascript
JavaScript Ajax实现异步通信
2016/12/14 Javascript
使用BootStrap进行轮播图的制作
2017/01/06 Javascript
NodeJs下的测试框架Mocha的简单介绍
2017/02/22 NodeJs
js 开发之autocomplete="off"在chrom中失效的解决办法
2017/09/28 Javascript
微信小程序使用map组件实现获取定位城市天气或者指定城市天气数据功能
2019/01/22 Javascript
Android 自定义view仿微信相机单击拍照长按录视频按钮
2019/07/19 Javascript
JS实现的雪花飘落特效示例
2019/12/03 Javascript
JavaScript 实现继承的几种方式
2021/02/19 Javascript
[58:21]DOTA2亚洲邀请赛 4.3 突围赛 Liquid vs VGJ.T 第二场
2018/04/04 DOTA
Python3基础之基本运算符概述
2014/08/13 Python
使用Python抓取模板之家的CSS模板
2015/03/16 Python
python将字符串转换成数组的方法
2015/04/29 Python
Python中字典和集合学习小结
2017/07/07 Python
Python实现PS图像调整黑白效果示例
2018/01/25 Python
python多线程与多进程及其区别详解
2019/08/08 Python
基于Python爬取爱奇艺资源过程解析
2020/03/02 Python
PyQt5中向单元格添加控件的方法示例
2020/03/24 Python
java字符串格式化输出实例讲解
2021/01/06 Python
用pip给python安装matplotlib库的详细教程
2021/02/24 Python
艺术专业大学生自我评价
2013/09/22 职场文书
《陋室铭》教学反思
2014/02/26 职场文书
小区推广策划方案
2014/06/06 职场文书
2015年感恩节活动总结
2015/03/24 职场文书
小学一年级语文教学反思
2016/03/03 职场文书
详解Python魔法方法之描述符类
2021/05/26 Python