【问题标题】:PyTorch ImageFolder: how to sample images belonging to particular classesPyTorch ImageFolder:如何对属于特定类的图像进行采样
【发布时间】:2018-08-13 16:28:42
【问题描述】:

我有一个 pytorch ImageFolder。我看到ImageFolder的__getitem__(index)方法可以同时获取张量和索引的类。但是,如果我想使用 ImageFolder 从我选择的一个类(或多个类)中随机抽取一定数量的图像,然后稍后为 __getitem__ 方法获取它们的索引,该怎么办? (有点像反向操作,即选择类 -> 获取索引而不是选择索引 -> 获取类)

如何做到这一点?

【问题讨论】:

    标签: pytorch tensor


    【解决方案1】:

    我曾经为 MNIST 数据集尝试过类似的方法,但遗憾的是找不到对应的代码。如果我没记错的话,我只是简单地迭代了数据集的自定义拆分,但现在有一种更原生的方式来做到这一点:
    本质上,不必担心您的Dataset 课程,而是您的DataLoader 的问题。 Dataset 仅包含引用此数据的方法;但是,实际调用此数据的点发生在 DataLoader 中。

    不幸的是,您必须编写自己的DataLoader,这样您就可以拥有额外的自定义samplers that only take a specific range。我最好的猜测是有一个需要多个采样器(每个类一个),您在其中传递每个类的相应索引,并在运行时询问与特定类对应的采样器。

    AFAIK,定期提供的DataLoaders 不可能有这样的东西。 另请注意,要跟踪您何时通过所有训练数据一次变得越来越困难(如果您仍想在一个时期内对所有不同样本进行训练)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-05-20
      • 1970-01-01
      • 2012-05-12
      • 2014-04-26
      • 1970-01-01
      • 2020-06-04
      相关资源
      最近更新 更多