我有一个非常大的布尔2d数组(~1Gb),我想用一个一维float64数组来匹配它。输出数组将很大,但仍然比2d数组小得多。然而,当我试图匹配它们时,我的系统会崩溃,并试图为2d数组分配足够的内存以使其具有float64,而不仅仅是为输出向量分配足够的内存。exceptions.MemoryError: Unable to allocate 43.6 GiB for an array with shape (286880, 20419
在.values之后,它们都是numpy数组 然后我得到了错误: ValueError: array is too big; `arr.size * arr.dtype.itemsize` is larger完整的错误消息: ValueError Traceback (most recent call last)
filepath in
处理过程大致是:将给定大小的网格(NumPy数组)上的一组数据打包,并计算该网格与自身的张量外积(numpy.multiply.outer)。然后对得到的乘积求和,得到最终的数组。我可以看到进程并行运行,但是当返回结果时,我得到了错误'OverflowError('cannot serialize a bytes objects larger than 4GiB',)'。我尝试了这个解决方案:,这使我找到了答案中