码迷,mamicode.com
首页 > 系统相关 > 详细

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

时间:2019-02-10 12:19:50      阅读:77      评论:0      收藏:0      [点我收藏+]

标签:cer   port   har   storage   com   ESS   get   .com   master   

译者: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

标签:cer   port   har   storage   com   ESS   get   .com   master   

原文地址:https://www.cnblogs.com/wizardforcel/p/10358941.html

(0)
(0)
   
举报
评论 一句话评论(0
0条  
登录后才能评论!
© 2014 mamicode.com 版权所有 京ICP备13008772号-2
迷上了代码!