本文簡要介紹python語言中 torch.distributed.scatter_object_list
的用法。
用法:
torch.distributed.scatter_object_list(scatter_object_output_list, scatter_object_input_list, src=0, group=None)
scatter_object_output_list(List[任何]) -非空列表,其第一個元素將存儲分散到該等級的對象。
scatter_object_input_list(List[任何]) -要分散的輸入對象列表。每個對象都必須是 picklable 的。隻有
src
rank 上的對象會被分散,非src rank 的參數可以是None
。src(int) -要從中分散的源排名
scatter_object_input_list
。group-(ProcessGroup,可選):要處理的進程組。如果沒有,將使用默認進程組。默認為
None
。
None
。如果等級是組的一部分,scatter_object_output_list
將把它的第一個元素設置為這個等級的分散對象。將
scatter_object_input_list
中的可pickl對象分散到整個組中。與scatter()
類似,但可以傳入Python對象。在每個rank上,分散的對象將存儲為scatter_object_output_list
的第一個元素。請注意,scatter_object_input_list
中的所有對象都必須是 picklable 的才能分散。注意
請注意,此 API 與分散集合略有不同,因為它不提供
async_op
句柄,因此將是一個阻塞調用。警告
scatter_object_list()
隱式使用pickle
模塊,已知這是不安全的。可以構造惡意的 pickle 數據,該數據將在 unpickling 期間執行任意代碼。僅使用您信任的數據調用此函數。>>> # Note: Process group initialization omitted on each rank. >>> import torch.distributed as dist >>> if dist.get_rank() == 0: >>> # Assumes world_size of 3. >>> objects = ["foo", 12, {1: 2}] # any picklable object >>> else: >>> # Can be any list on non-src ranks, elements are not used. >>> objects = [None, None, None] >>> output_list = [None] >>> dist.scatter_object_list(output_list, objects, src=0) >>> # Rank i gets objects[i]. For example, on rank 2: >>> output_list [{1: 2}]
例子:
參數:
返回:
相關用法
- Python PyTorch script用法及代碼示例
- Python PyTorch saved_tensors_hooks用法及代碼示例
- Python PyTorch sqrt用法及代碼示例
- Python PyTorch skippable用法及代碼示例
- Python PyTorch squeeze用法及代碼示例
- Python PyTorch square用法及代碼示例
- Python PyTorch save_on_cpu用法及代碼示例
- Python PyTorch skip_init用法及代碼示例
- Python PyTorch simple_space_split用法及代碼示例
- Python PyTorch sum用法及代碼示例
- Python PyTorch sub用法及代碼示例
- Python PyTorch sparse_csr_tensor用法及代碼示例
- Python PyTorch sentencepiece_numericalizer用法及代碼示例
- Python PyTorch symeig用法及代碼示例
- Python PyTorch sinh用法及代碼示例
- Python PyTorch sinc用法及代碼示例
- Python PyTorch std_mean用法及代碼示例
- Python PyTorch spectral_norm用法及代碼示例
- Python PyTorch slogdet用法及代碼示例
- Python PyTorch symbolic_trace用法及代碼示例
- Python PyTorch shutdown用法及代碼示例
- Python PyTorch sgn用法及代碼示例
- Python PyTorch set_flush_denormal用法及代碼示例
- Python PyTorch set_default_dtype用法及代碼示例
- Python PyTorch signbit用法及代碼示例
注:本文由純淨天空篩選整理自pytorch.org大神的英文原創作品 torch.distributed.scatter_object_list。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。