pytorch 随机抽样

情形1(按行随机排列)

import torch
a=torch.rand(3,5)
print(a)
a=a[torch.randperm(a.size()[0])]
print(a)

pytorch 随机抽样_第1张图片

情形2(按列排列)

a=a[:,torch.randperm(a.size()[1])]
print(a)

结果如下
pytorch 随机抽样_第2张图片
但是这里有一个问题,就是随机交换行列的顺序时,是保证列是不变的,这时的随机性还是稍微小一点

情形3(每行随机排列)

import torch 
x = torch.rand(3, 5)
print(x)
indices = torch.argsort(torch.rand(*x.shape), dim=-1)
result = x[torch.arange(x.shape[0]).unsqueeze(-1), indices]
print(result)

结果如下
pytorch 随机抽样_第3张图片

你可能感兴趣的:(python,pytorch,深度学习,python)