(self, dataset, world_size=None, rank=None)
| 1061 | |
| 1062 | class DistributedSequentialSampler(Sampler): |
| 1063 | def __init__(self, dataset, world_size=None, rank=None): |
| 1064 | if world_size == None: |
| 1065 | world_size = get_world_size() |
| 1066 | if rank == None: |
| 1067 | rank = get_rank() |
| 1068 | self.dataset = dataset |
| 1069 | self.world_size = world_size |
| 1070 | self.rank = rank |
| 1071 | assert len(self.dataset) >= self.world_size, f'{len(self.dataset)} vs {self.world_size}' |
| 1072 | sub_num = int(math.ceil(len(self.dataset) * 1.0 / self.world_size)) |
| 1073 | self.beg = sub_num * self.rank |
| 1074 | self.end = min(self.beg+sub_num, len(self.dataset)) |
| 1075 | |
| 1076 | def __iter__(self): |
| 1077 | indices = list(range(self.beg, self.end)) |
nothing calls this directly
no test coverage detected