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/
我使用 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/