def sample(self):
"""
:returns: a random subsample of `range(size)`
:rtype: torch.autograd.Variable of torch.LongTensor
"""
subsample_size = self.subsample_size
if subsample_size is None or subsample_size > self.size:
subsample_size = self.size
if subsample_size == self.size:
result = Variable(torch.LongTensor(list(range(self.size))))
else:
result = Variable(torch.randperm(self.size)[:self.subsample_size])
return result.cuda() if self.use_cuda else result
评论列表
文章目录