PyTorch 1.0 中文文档:多进程包 - torch.multiprocessing

Posted wizardforcel

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PyTorch 1.0 中文文档:多进程包 - torch.multiprocessing相关的知识,希望对你有一定的参考价值。

译者:hijkzzz

torch.multiprocessing 是一个本地 multiprocessing 模块的包装. 它注册了自定义的reducers, 并使用共享内存为不同的进程在同一份数据上提供共享的视图. 一旦 tensor/storage 被移动到共享内存 (见 share_memory_()), 将其发送到任何进程不会造成拷贝开销.

此 API 100% 兼容原生模块 - 所以足以将 import multiprocessing 改成 import torch.multiprocessing 使得所有的 tensors 通过队列发送或者使用其它共享机制, 移动到共享内存.

因为 APIs 的相似性, 我们没有为此包提供足够的文档, 所以推荐参考非常优秀的原生进程模块文档.

警告

如果主进程意外退出 (比如 因为一个信号的到来), Python’s multiprocessing 有时候会无法请理它的子进程. 这是一个众所周知的警告, 因此,如果你在中断解释器后发现任何资源泄漏,这可能意味着你刚刚发生了这种情况.

策略管理

torch.multiprocessing.get_all_sharing_strategies()

返回当前系统支持的共享策略的集合.

torch.multiprocessing.get_sharing_strategy()

返回当前的 CPU tensors 共享策略.

torch.multiprocessing.set_sharing_strategy(new_strategy)

设置一个新的 CPU tensors 共享策略.

阅读全文/改进本文

以上是关于PyTorch 1.0 中文文档:多进程包 - torch.multiprocessing的主要内容,如果未能解决你的问题,请参考以下文章

PyTorch v1.1.0文档研习60分钟快速上手

推荐PyTorch中文文档

PyTorch 1.0 中文文档:广播语义

PyTorch 1.0 中文文档:torch.onnx

PyTorch 1.0 中文文档:torch.Tensor

PyTorch 1.0 中文文档:torchvision.transforms