大型磁盘阵列

2024-10-08 19:21:15 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个稀疏数组,似乎太大了,无法有效地处理内存中的数据(2000x2500000,float)。我可以将它形成一个稀疏的lil_数组(scipy),但是如果我尝试输出一个列或行压缩的稀疏数组(a.tocsc(),a.tocsr()),我的机器内存不足(而且文本文件4.4G中的数据与pickeled lil数组12G之间也存在严重的不匹配,最好使用更接近原始数据的磁盘格式尺寸)。在

我将来可能会使用更大的阵列。在

问:以一种透明的方式处理大型磁盘阵列的最佳方式是什么。例如,行和列的和,向量积,最大值,最小值,切片等等?在

pytables是正确的方法吗?有一个好的(快速的)sqlnumpy中间件层吗?numpy内置磁盘阵列的秘密?在

在过去,对于(稍小的)数组,我总是将长时间的计算结果缓存到磁盘上。当阵列最终达到<;4G左右,但不再有效时,这种方法就有效了。在


Tags: 数据方法内存机器原始数据方式scipy数组
1条回答
网友
1楼 · 发布于 2024-10-08 19:21:15

我经常使用memory-mapped ^{} arrays来处理千兆字节的数值矩阵。我发现它们对我的目的非常有效。显然,如果数据的大小超过了RAM的数量,就必须小心访问模式,以避免thrashing。在

相关问题 更多 >

    热门问题