译者:hijkzzzhtml
torch.multiprocessing 是一个本地 multiprocessing
模块的包装. 它注册了自定义的reducers, 并使用共享内存为不一样的进程在同一份数据上提供共享的视图. 一旦 tensor/storage 被移动到共享内存 (见 share_memory_()
), 将其发送到任何进程不会形成拷贝开销.python
此 API 100% 兼容原生模块 - 因此足以将 import multiprocessing
改为 import torch.multiprocessing
使得全部的 tensors 经过队列发送或者使用其它共享机制, 移动到共享内存.git
由于 APIs 的类似性, 咱们没有为此包提供足够的文档, 因此推荐参考很是优秀的原生进程模块文档.github
警告apache
若是主进程意外退出 (好比 由于一个信号的到来), Python’s multiprocessing
有时候会没法请理它的子进程. 这是一个众所周知的警告, 所以,若是你在中断解释器后发现任何资源泄漏,这可能意味着你刚刚发生了这种状况.url
策略管理
torch.multiprocessing.get_all_sharing_strategies()
返回当前系统支持的共享策略的集合.spa
torch.multiprocessing.get_sharing_strategy()
返回当前的 CPU tensors 共享策略..net
torch.multiprocessing.set_sharing_strategy(new_strategy)
设置一个新的 CPU tensors 共享策略.code
阅读全文/改进本文htm