Python numpy大矩阵运算内存不足如何解决

 更新时间:2020年11月19日 08:33:58   作者:Gelthin  
这篇文章主要介绍了Python numpy大矩阵运算内存不足如何解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

程序运行,产生如下结果,然后进程终止,导致这一结果的原因很有可能是内存爆炸。

当两个较大的 (e.g., 10000*10000 维)ndarray 做运算(加法,or 乘法)时,很容易出现这样的结果.
解决办法:

  • 大多数情况下,这种大矩阵都是稀疏的。尽可能地利用稀疏计算的方式,例如稀疏矩阵,或者只计算非 0 位置的值。
  • 如果都是整数运算,可以设置 dtype=int,而非 dtype=float, 可以省下不少空间。

linux 系统下,使用 top 命令,可以很容易地看到内存(%MEM) 的使用情况。

# 代码段 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解决字典中的值是列表问题的方法

    这篇文章主要介绍了字典中的值是列表问题,先用value连成一个str,最后用str.split()作一个转换,生成一个列表.看了python cookbook,上面正好有一个recipe讲到如何处理这样的问题
    2013-03-03
  • python 实现得到当前时间偏移day天后的日期方法

    python 实现得到当前时间偏移day天后的日期方法

    今天小编就为大家分享一篇python 实现得到当前时间偏移day天后的日期方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-12-12
  • python 合并列表的八种方法

    python 合并列表的八种方法

    这篇文章主要介绍了python 连接列表的八种方法,帮助大家更好的理解和学习使用python,感兴趣的朋友可以了解下
    2021-03-03
  • Python中Qslider控件实操详解

    Python中Qslider控件实操详解

    在本篇文章里小编给大家整理的是一篇关于Python中Qslider控件实操详解内容,对此有兴趣的朋友们可以跟着学习参考下。
    2021-02-02
  • python lambda的使用详解

    python lambda的使用详解

    这篇文章主要介绍了python lambda的使用详解,帮助大家更好的理解和学习使用python,感兴趣的朋友可以了解下
    2021-02-02
  • 详谈Python 窗体(tkinter)表格数据(Treeview)

    详谈Python 窗体(tkinter)表格数据(Treeview)

    今天小编就为大家分享一篇详谈Python 窗体(tkinter)表格数据(Treeview),具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-10-10
  • 手把手教你Python yLab的绘制折线图的画法

    手把手教你Python yLab的绘制折线图的画法

    这篇文章主要介绍了手把手教你Python yLab的绘制折线图的画法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-10-10
  • JavaScript中的模拟事件和自定义事件实例分析

    JavaScript中的模拟事件和自定义事件实例分析

    这篇文章主要介绍了JavaScript中的模拟事件和自定义事件,结合实例形式分析了JavaScript模拟事件和自定义事件相关操作步骤、实现技巧与注意事项,需要的朋友可以参考下
    2018-07-07
  • Python-pip配置国内镜像源的安装方式

    Python-pip配置国内镜像源的安装方式

    本文给大家分享Python-pip配置国内镜像源的安装方式,分为windows平台安装方式和linux平台安装方式,本文给大家介绍的非常详细,需要的朋友参考下吧
    2021-11-11
  • pytorch模型转换为onnx可视化(使用netron)

    pytorch模型转换为onnx可视化(使用netron)

    netron 是一个非常好用的网络结构可视化工具,但是netron对pytorch模型的支持还不成熟,这篇文章主要介绍了pytorch模型转换为onnx,并使用netron可视化,需要的朋友可以参考下
    2023-05-05

最新评论