使用Pytorch进行随机选择?

我有一组图片张量,想从中随机选择。我在寻找类似于np.random.choice()的功能。

import torch
pictures = torch.randint(0, 256, (1000, 28, 28, 3))

假设我想选择其中的10张图片。


回答:

torch没有类似于np.random.choice()的实现,详见这里的讨论。替代方法是使用打乱的索引或随机整数进行索引。

有放回地进行选择:

  1. 生成n个随机索引
  2. 用这些索引访问原始张量
pictures[torch.randint(len(pictures), (10,))]  

无放回地进行选择:

  1. 打乱索引
  2. 取前n个元素
indices = torch.randperm(len(pictures))[:10]
pictures[indices]

了解更多关于torch.randinttorch.randperm的信息。第二个代码片段的灵感来自于PyTorch论坛的这个帖子

Related Posts

MLFlow运行:在文件中传递参数而不是键/值对

通常在运行MLProject时,我会使用类似于下面的命…

根据列’Amount.Requested’中存在缺失值,删除数据框中的整行

假设我有一个名为Amount.Requested的列,…

如何在GCP中将数据集链接到模型

我在GCP中首次尝试建模,无法找到或弄清楚如何将数据链…

使用标准化器在SVM分类模型上的问题

我在使用支持向量机作为金融市场数据的分类器 我有一个包…

### 模块 ‘tensorflow.compat.v2.__internal__’ 没有属性 ‘tf2’

昨天我可以使用TensorFlow作为后端,但今天在尝…

### KeyError: 无效索引错误[Int64Index…] dtype=’int64] 不在[columns]中

我正在尝试在pipeline(StandardScal…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注