【问题标题】:Memory Error when numpy.dot(A,B), where A is 250000x108 float matrix, B is transpose of Anumpy.dot(A,B) 时出现内存错误,其中 A 是 250000x108 浮点矩阵,B 是 A 的转置
【发布时间】:2011-10-27 10:48:36
【问题描述】:

有没有做 A 点 B 的想法,没有内存错误?

【问题讨论】:

  • numpy.dot(A,B) 时出现内存错误,其中 A 是 250000x108 浮点矩阵,B 是 A 的转置。
  • 我需要那个 250000x250000 的矩阵,在这种情况下不知道该怎么做,大规模数据。
  • 数组至少有些稀疏吗? (即它们是否包含很多零?)
  • 然后使用像scipy.sparse这样的稀疏矩阵库。 docs.scipy.org/doc/scipy/reference/sparse.html numpy 本身不包括稀疏矩阵。他们在scipy.sparse

标签: memory numpy dot-product


【解决方案1】:

结果将是一个 250000x250000 的矩阵,并且需要大约半 TB 的 RAM。

你是说numpy.dot(B, A)吗?

【讨论】:

  • 我需要那个 250000x250000 的矩阵,在这种情况下不知道该怎么做,大规模数据。
【解决方案2】:

您尝试计算的点积会生成一个 250000x250000 数组,如果您使用默认的双精度浮点,这将需要 500Gb 的内存。你确定这是你需要的吗?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-03-29
    • 1970-01-01
    • 2017-01-05
    • 1970-01-01
    • 2019-10-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多