本文簡要介紹python語言中 torch.utils.data.distributed.DistributedSampler
的用法。
用法:
class torch.utils.data.distributed.DistributedSampler(dataset, num_replicas=None, rank=None, shuffle=True, seed=0, drop_last=False)
dataset-用於采樣的數據集。
num_replicas(int,可選的) -參與分布式訓練的進程數。默認情況下,從當前分布式組中檢索
world_size
。rank(int,可選的) -
num_replicas
中當前進程的排名。默認情況下,從當前分布式組中檢索rank
。shuffle(bool,可選的) -如果
True
(默認),采樣器將打亂索引。seed(int,可選的) -如果
shuffle=True
,則用於洗牌采樣器的隨機種子。這個數字在分布式組中的所有進程中應該是相同的。默認值:0
。drop_last(bool,可選的) -如果
True
,則采樣器將丟棄數據的尾部,以使其在副本數量上均勻整除。如果False
,采樣器將添加額外的索引以使數據在副本中均勻分割。默認值:False
。
將數據加載到數據集子集的采樣器。
與
torch.nn.parallel.DistributedDataParallel
結合使用特別有用。在這種情況下,每個進程都可以傳遞DistributedSampler
實例作為DataLoader
采樣器,並加載其獨有的原始數據集的子集。注意
假設數據集大小不變。
警告
在分布式模式下,調用
set_epoch()
每個時期開始時的方法前創建DataLoader
迭代器是使混洗跨多個時期正常工作所必需的。否則,將始終使用相同的順序。例子:
>>> sampler = DistributedSampler(dataset) if is_distributed else None >>> loader = DataLoader(dataset, shuffle=(sampler is None), ... sampler=sampler) >>> for epoch in range(start_epoch, n_epochs): ... if is_distributed: ... sampler.set_epoch(epoch) ... train(loader)
參數:
相關用法
- Python PyTorch DistributedModelParallel用法及代碼示例
- Python PyTorch DistributedDataParallel用法及代碼示例
- Python PyTorch DistributedDataParallel.register_comm_hook用法及代碼示例
- Python PyTorch DistributedDataParallel.join用法及代碼示例
- Python PyTorch DistributedModelParallel.named_parameters用法及代碼示例
- Python PyTorch DistributedModelParallel.state_dict用法及代碼示例
- Python PyTorch DistributedDataParallel.no_sync用法及代碼示例
- Python PyTorch DistributedModelParallel.named_buffers用法及代碼示例
- Python PyTorch DistributedOptimizer用法及代碼示例
- Python PyTorch Dirichlet用法及代碼示例
- Python PyTorch DeQuantize用法及代碼示例
- Python PyTorch DenseArch用法及代碼示例
- Python PyTorch DeepFM用法及代碼示例
- Python PyTorch DataFrameMaker用法及代碼示例
- Python PyTorch DLRM用法及代碼示例
- Python PyTorch Dropout用法及代碼示例
- Python PyTorch Dropout3d用法及代碼示例
- Python PyTorch DataParallel用法及代碼示例
- Python PyTorch Decompressor用法及代碼示例
- Python PyTorch Dropout2d用法及代碼示例
- Python PyTorch DeepFM.forward用法及代碼示例
- Python PyTorch Demultiplexer用法及代碼示例
- Python PyTorch DatasetFolder.find_classes用法及代碼示例
- Python PyTorch frexp用法及代碼示例
- Python PyTorch jvp用法及代碼示例
注:本文由純淨天空篩選整理自pytorch.org大神的英文原創作品 torch.utils.data.distributed.DistributedSampler。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。