如何使用 Pytorch 为每个批次创建图像?

How can I create images for each batch using Pytorch?

我想制作一个二进制 classifier classifies 以下内容:

Class 1.一些我已有的图片

Class 2.我从一个函数创建的一些图像,使用class 1.

的图像

问题是,为了加快进程,我不想预先创建两个 class 并加载它们,而是希望为每个批次创建 class 2 个图像.

关于如何解决这个问题有什么想法吗?如果我像往常一样使用DataLoader,我必须直接输入两个class的图像,但是如果我仍然没有第二个class的图像我不知道怎么办它。

谢谢。

您至少可以通过两种方式解决问题。

  1. (首选)您创建自定义 Dataset class、AugDset,这样 AugDset.__len__() returns 2 * len(real_dset),当 idx > len(imgset), AugDset.__getitem__(idx)real_dset(idx).
  2. 生成合成图像
  3. 您创建自定义 collate_fn 函数,传递给 DataLoader,给定一个批次,它会使用您合成生成的图像对其进行扩充。