python 中是否存在任何基于模块间共享内存的解决方案?

Does any inter-module shared memory based solution exist in python?

我使用 theano 在 python 中编写了代码。 因为 theano 使用 GPU,所以我想利用它使用 GPU 计算的时间通过 CPU.

计算其他类似的计算耗时过程

我经常使用 multiprocessing 模块,但不幸的是我发现 theano 不能与 multiprocessing 模块一起工作导致一些锁定错误。 因此,我更改了我的代码,并希望 运行 基于 theano 的模块 (modul1.py) 和另一个模块 (modul2.py) 在两个单独的模块中彼此并用,无需多处理。

后果:我必须在不同的模块之间共享数据。我尝试过酸洗,但对于我的解决方案来说太慢了,由于文件操作,我浪费了 "multiprocessing" 获得的时间。

因此我需要一个解决方案,我可以用它在 MEMORY.

内部的模块之间交换数据

注意:我只需要单工数据交换,即我只想从其中一个模块读取数据。

也许 mmap 可以帮助你,它在标准库中。

文档:https://docs.python.org/2/library/mmap.html

还有一个例子:http://blog.schmichael.com/2011/05/15/sharing-python-data-between-processes-using-mmap/