本文简要介绍python语言中 torch_xla.distributed.xla_multiprocessing.MpModelWrapper
的用法。
用法:
class torch_xla.distributed.xla_multiprocessing.MpModelWrapper(model)
当使用
fork
方法时,包装一个模型以最小化主机内存使用。此类应与
spawn(…, start_method=’fork’)
API 一起使用,以尽量减少主机内存的使用。不是在每个多处理进程上创建模型,从而复制模型的初始主机内存,而是在全局范围内创建一次模型,然后移动到spawn()
目标函数内的每个设备中。例子:WRAPPED_MODEL = xmp.MpModelWrapper(MyNetwork()) def _mp_fn(index, ...): device = xm.xla_device() model = WRAPPED_MODEL.to(device) ... xmp.spawn(_mp_fn, ..., start_method='fork')
这种方法有两个优点。首先,如果仅使用内存页面的一个副本来托管原始模型的权重,其次它通过在此过程中降低系统内存的负载,将包装模型的移动序列化到每个设备中。
相关用法
- Python PyTorch MpSerialExecutor用法及代码示例
- Python PyTorch MaxUnpool3d用法及代码示例
- Python PyTorch MultiStepLR用法及代码示例
- Python PyTorch Module.buffers用法及代码示例
- Python PyTorch Module.register_full_backward_hook用法及代码示例
- Python PyTorch Module.named_modules用法及代码示例
- Python PyTorch Module.parameters用法及代码示例
- Python PyTorch MaxPool1d用法及代码示例
- Python PyTorch Module.register_forward_hook用法及代码示例
- Python PyTorch MetaInferGroupedPooledEmbeddingsLookup.state_dict用法及代码示例
- Python PyTorch Module.named_parameters用法及代码示例
- Python PyTorch MetaInferGroupedEmbeddingsLookup.named_buffers用法及代码示例
- Python PyTorch ModuleList用法及代码示例
- Python PyTorch MultiLabelMarginLoss用法及代码示例
- Python PyTorch MultiplicativeLR用法及代码示例
- Python PyTorch MixtureSameFamily用法及代码示例
- Python PyTorch MultiheadAttention用法及代码示例
- Python PyTorch MaxUnpool1d用法及代码示例
- Python PyTorch Mapper用法及代码示例
- Python PyTorch MultivariateNormal用法及代码示例
- Python PyTorch Module.state_dict用法及代码示例
- Python PyTorch MapKeyZipper用法及代码示例
- Python PyTorch MultiScaleRoIAlign用法及代码示例
- Python PyTorch MultiheadAttentionContainer.__init__用法及代码示例
- Python PyTorch MarginRankingLoss用法及代码示例
注:本文由纯净天空筛选整理自pytorch.org大神的英文原创作品 torch_xla.distributed.xla_multiprocessing.MpModelWrapper。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。