微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

是否可以使用numpy创建100万x 100万矩阵? [重复]

如何解决是否可以使用numpy创建100万x 100万矩阵? [重复]

|                                                                                                                   这个问题已经在这里有了答案:                                                      

解决方法

        我们可以做简单的数学来找出答案。一百万乘一百万的矩阵具有1,000,000个元素。如果每个元素占用4个字节,则将需要4,000字节的内存。即3.64 TB。 也有可能给定的Python实现使用的数量比单个数字更多。例如,仅从浮点数到双倍数的跃迁就意味着您将需要7.28 TB。 (也有可能Python将数字存储在堆上,而您得到的只是一个指向它的指针,大约使占用空间增加了一倍,甚至不考虑元数据-但这是湿滑的理由,当我总是错的时候我谈论的是Python内部,所以我们不要过多地研究它。) 我想
numpy
没有硬编码的限制,但是如果您的系统没有那么多的可用内存,则实际上没有任何事情可做。     ,        您的矩阵中是否有很多零条目?我怀疑确实如此,很少有人会做那么大的密集问题。 您可以使用稀疏矩阵轻松地做到这一点。 SciPy具有良好的内置功能。http://docs.scipy.org/doc/scipy/reference/sparse.html 稀疏矩阵所需的空间随非零元素的数量而不是尺寸而增长。     ,        您的系统可能没有足够的内存来将矩阵存储在内存中,但是如今,您可能已经有足够的TB级可用磁盘空间。在这种情况下,numpy.memmap允许您将阵列存储在磁盘上,但看起来好像驻留在内存中。 但是,最好重新考虑这个问题。您真的需要这么大的矩阵吗?涉及此计算的任何计算都可能会非常缓慢,并且需要按块进行。     

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。