1

在使用 Pytorch 的 DataLoader 实用程序时,在采样器中的目的是RandomIdentitySampler什么?而且RandomIdentitySampler里面有一个说法instances。是否instances取决于工人的数量?如果有 4 个工人,那么也应该有 4 个实例吗?

以下是代码块:

c_dataloaders = DataLoader(Preprocessor(cluster_dataset.train_set,
                                        root=cluster_dataset.images_dir,
                                        transform=train_transformer),
                                        batch_size=args.batch_size_stage2,
                                        num_workers=args.workers,
                                        sampler=RandomIdentitySampler(cluster_dataset.train_set,
                                        args.batch_size_stage2,
                                        args.instances)
4

1 回答 1

0

此采样器不是 PyTorch 或任何其他官方库(torchvision、torchtext 等)的一部分。反正开阳州那边RandomIdentitySampler一个。假设是这种情况:torchreid

  1. 在使用 Pytorch 的 DataLoader 实用程序时,在采样器中的目的是RandomIdentitySampler什么?
  • 正如您在DataLoader 文档中看到的那样:采样器“定义了从数据集中抽取样本的策略”。更具体地说,基于RandomIdentitySampler 文档,它“随机抽样 N 个身份,每个身份都有 K 个实例”。
  1. 而且RandomIdentitySampler里面有一个说法instances。是否instances取决于工人数量?
  • 根据前面的答案,您可以注意到这instances不取决于工人的数量。它只是设置将从每个批次的数据集中提取的每个身份的实例数。
  1. 如果有 4 个工人,那么也应该有 4 个实例吗?
  • 不必要。唯一的限制是实例的数量不应小于批量大小。
于 2021-04-14T22:06:19.060 回答