gpt4 book ai didi

python矩阵乘法: how to handle very large matrices?

转载 作者:太空狗 更新时间:2023-10-30 00:04:04 25 4
gpt4 key购买 nike

a = numpy.zeros((17770,5))

b = numpy.zeros((5,20000))

ma = numpy.matrix(a)

mb = numpy.matrix(b)

ma.shape = (17770,5) , mb.shape = (5,20000) , 都是 numpy.matrix .

我需要 ma*mb .但我收到错误消息 "ValueError: array is too big" .

这些矩阵对于 Python 乘法来说太大了吗?

顺便说一句,我用python2.6.6/32bit/3GB RAM测试

最佳答案

我可以计算 ma*mb在我的机器上(在 64 位 Ubuntu 上为 Python 2.7.1 |EPD 7.0-2 (64-bit))。

确保您在 64 位操作系统上使用 64 位 Python,因为 17770x20000 double float 矩阵需要 2.8GB 内存,这超过(或非常接近)大多数 32 位平台可以达到的内存处理。

根据您的要求,也可以使用单精度 float ( numpy.float32)。

最后,如果您的矩阵是稀疏的或具有结构,您可能希望研究利用它来减少内存需求。

关于python矩阵乘法: how to handle very large matrices?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7126004/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com