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 Web开发框架Django
Jun 30 Python
python类的继承实例详解
Mar 30 Python
Python爬虫框架Scrapy常用命令总结
Jul 26 Python
python实现统计文本中单词出现的频率详解
May 20 Python
使用OpenCV实现仿射变换—旋转功能
Aug 29 Python
Pytorch技巧:DataLoader的collate_fn参数使用详解
Jan 08 Python
Python os模块常用方法和属性总结
Feb 20 Python
pytorch中 gpu与gpu、gpu与cpu 在load时相互转化操作
May 25 Python
解决Pycharm双击图标启动不了的问题(JetBrains全家桶通用)
Aug 07 Python
Python排序算法之插入排序及其优化方案详解
Jun 11 Python
Python Numpy库的超详细教程
Apr 06 Python
Python+Matplotlib图像上指定坐标的位置添加文本标签与注释
Apr 11 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查看网页源代码的方法
2015/03/13 PHP
ie浏览器使用js导出网页到excel并打印
2014/03/11 Javascript
JavaScript实现文字与图片拖拽效果的方法
2015/02/16 Javascript
JavaScript中5种调用函数的方法
2015/03/12 Javascript
jQuery实现多级下拉菜单jDropMenu的方法
2015/08/28 Javascript
BootStrap中的table实现数据填充与分页应用小结
2016/05/26 Javascript
AngularJS基础 ng-paste 指令简单示例
2016/08/02 Javascript
ionic实现滑动的三种方式
2016/08/27 Javascript
elemetUi 组件--el-upload实现上传Excel文件的实例
2017/10/27 Javascript
javaScript动态添加Li元素的实例
2018/02/24 Javascript
vue组件之间通信实例总结(点赞功能)
2018/12/05 Javascript
axios携带cookie配置详解(axios+koa)
2018/12/28 Javascript
VUE引入第三方js包及调用方法讲解
2019/03/01 Javascript
vue插件mescroll.js实现移动端上拉加载和下拉刷新
2019/03/07 Javascript
layUI实现前端分页和后端分页
2019/07/27 Javascript
深入解读VUE中的异步渲染的实现
2020/06/19 Javascript
vue watch监控对象的简单方法示例
2021/01/07 Vue.js
[01:17:12]职来职往完美电竞专场
2014/09/18 DOTA
[42:23]完美世界DOTA2联赛PWL S3 Forest vs Rebirth 第二场 12.10
2020/12/13 DOTA
在Django框架中编写Context处理器的方法
2015/07/20 Python
Python虚拟环境项目实例
2017/11/20 Python
python docx 中文字体设置的操作方法
2018/05/08 Python
Python 中的range(),以及列表切片方法
2018/07/02 Python
Python读取mat文件,并转为csv文件的实例
2018/07/04 Python
用python打印1~20的整数实例讲解
2019/07/01 Python
python通过移动端访问查看电脑界面
2020/01/06 Python
解决Python发送Http请求时,中文乱码的问题
2020/04/30 Python
python中shell执行知识点
2020/05/06 Python
python中remove函数的踩坑记录
2021/01/04 Python
澳大利亚小众服装品牌:Maurie & Eve
2018/03/27 全球购物
瑞士网球商店:Tennis-Point
2020/03/12 全球购物
一道SQL面试题
2012/12/31 面试题
如何开发一个JQuery插件
2016/07/28 面试题
opencv实现图像平移效果
2021/03/24 Python
2014年高三毕业生自我评价
2014/01/11 职场文书
教你使用pyinstaller打包Python教程
2021/05/27 Python