I have a tensor of pictures, and would like to randomly select from it. I'm looking for the equivalent of np.random.choice()
.
import torch
pictures = torch.randint(0, 256, (1000, 28, 28, 3))
Let's say I want 10 of these pictures.
torch
has no equivalent implementation of np.random.choice()
, see the discussion here. The alternative is indexing with a shuffled index or random integers.
pictures[torch.randint(len(pictures), (10,))]
indices = torch.randperm(len(pictures))[:10]
pictures[indices]
Read more about torch.randint
and torch.randperm
. Second code snippet is inspired by this post in PyTorch Forums.