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 相关文章推荐
Eclipse + Python 的安装与配置流程
Mar 05 Python
Python和Ruby中each循环引用变量问题(一个隐秘BUG?)
Jun 04 Python
使用Python的Bottle框架写一个简单的服务接口的示例
Aug 25 Python
windows系统下Python环境的搭建(Aptana Studio)
Mar 06 Python
200 行python 代码实现 2048 游戏
Jan 12 Python
python实现自动化上线脚本的示例
Jul 01 Python
python自动点赞功能的实现思路
Feb 26 Python
Python decorator拦截器代码实例解析
Apr 04 Python
Keras load_model 导入错误的解决方式
Jun 09 Python
Jupyter notebook命令和编辑模式常用快捷键汇总
Nov 17 Python
字典算法实现及操作 --python(实用)
Mar 31 Python
Python 中面向接口编程
May 20 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中的加密功能
2006/10/09 PHP
php递归列出所有文件和目录的代码
2008/09/10 PHP
PHP编程函数安全篇
2013/01/08 PHP
smarty中js的调用方法示例
2014/10/27 PHP
PHP判断json格式是否正确的实现代码
2017/09/20 PHP
php7下的filesize函数
2019/09/30 PHP
摘自百度的图片轮换效果代码
2007/11/19 Javascript
jquery ajax 同步异步的执行示例代码
2010/06/23 Javascript
js去字符串前后空格5种实现方法及比较
2013/04/03 Javascript
关于session和cookie的简单理解
2016/06/08 Javascript
angular-ui-sortable实现可拖拽排序列表
2016/12/28 Javascript
微信小程序实现实时圆形进度条的方法示例
2017/02/24 Javascript
js放到head中失效的原因与解决方法
2017/03/07 Javascript
Angular2使用jQuery的方法教程
2017/05/28 jQuery
webuploader实现上传图片到服务器功能
2018/08/16 Javascript
详解使用webpack+electron+reactJs开发windows桌面应用
2019/02/01 Javascript
vue实现带复选框的树形菜单
2019/05/27 Javascript
[01:44]《为梦想出发》—联想杯DOTA2完美世界全国高校联赛
2015/09/30 DOTA
Python程序员开发中常犯的10个错误
2014/07/07 Python
简单了解python PEP的一些知识
2019/07/13 Python
利用python-pypcap抓取带VLAN标签的数据包方法
2019/07/23 Python
Python创建临时文件和文件夹
2020/08/05 Python
Python解析m3u8拼接下载mp4视频文件的示例代码
2021/03/03 Python
pyx文件 生成pyd 文件用于 cython调用的实现
2021/03/04 Python
香港No.1得奖零食网:香港零食大王
2016/07/22 全球购物
Clarria化妆品官方网站:购买天然和有机化妆品系列
2018/04/08 全球购物
Linux的文件类型
2012/03/07 面试题
年终总结会议主持词
2014/03/17 职场文书
保证书范文大全
2014/04/28 职场文书
小学先进集体事迹材料
2014/05/31 职场文书
关于青春的演讲稿500字
2014/08/22 职场文书
学习党的群众路线对照检查材料
2014/09/29 职场文书
2014年人力资源工作总结
2014/11/19 职场文书
企业财务经理岗位职责
2015/04/08 职场文书
社区艾滋病宣传活动总结
2015/05/07 职场文书
预备党员党支部意见
2015/06/02 职场文书