使用joblib进行自动内存映射仍会遇到int overflow

时间:2016-05-10 00:56:44

标签: python python-3.x numpy multiprocessing joblib

我正在做一些神经感觉系统的建模,它对系统的不同阶段有不同的模型组件。每个阶段的计算都是并行完成的,然后传递到下一个阶段。

我遇到了multiprocessing.pool.MaybeEncodingError: Error sending result: '[<periphery_configuration.PeripheryOutput object at 0x10d00cf28>]'. Reason: 'error("'i' format requires -2147483648 <= number <= 2147483647",)',每this我认为这意味着我正在尝试传递一个numpy数组的列表,这些数组太大而multiprocessing已用完了索引室。

我尝试使用joblib解决此问题,如下所示。我究竟做错了什么?根据他们的文档,我应该自动记住磁盘;似乎没有发生。

这是一个简短的实现。对has_shareable_memory的调用是一些丑陋的霰弹枪调试,我不完全理解它应该做什么。

self.stimulus包含少于约10,000个元素时,以下代码有效。它在self.stimulus的{​​{1}}行上results = Parallel...很长时间内出现上述错误。 run是计算一个结果的方法。

self.solve_one_cochlea

0 个答案:

没有答案