1234567891011121314151617181920212223242526272829 |
- # --------------------------------------------------------
- # Swin Transformer
- # Copyright (c) 2021 Microsoft
- # Licensed under The MIT License [see LICENSE for details]
- # Written by Ze Liu
- # --------------------------------------------------------
- import torch
- class SubsetRandomSampler(torch.utils.data.Sampler):
- r"""Samples elements randomly from a given list of indices, without replacement.
- Arguments:
- indices (sequence): a sequence of indices
- """
- def __init__(self, indices):
- self.epoch = 0
- self.indices = indices
- def __iter__(self):
- return (self.indices[i] for i in torch.randperm(len(self.indices)))
- def __len__(self):
- return len(self.indices)
- def set_epoch(self, epoch):
- self.epoch = epoch
|