如何使用 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的图像我不知道怎么办它。
谢谢。
您至少可以通过两种方式解决问题。
- (首选)您创建自定义
Dataset
class、AugDset
,这样 AugDset.__len__()
returns 2 * len(real_dset)
,当 idx > len(imgset)
, AugDset.__getitem__(idx)
从 real_dset(idx)
. 生成合成图像
- 您创建自定义
collate_fn
函数,传递给 DataLoader
,给定一个批次,它会使用您合成生成的图像对其进行扩充。
我想制作一个二进制 classifier classifies 以下内容:
Class 1.一些我已有的图片
Class 2.我从一个函数创建的一些图像,使用class 1.
的图像问题是,为了加快进程,我不想预先创建两个 class 并加载它们,而是希望为每个批次创建 class 2 个图像.
关于如何解决这个问题有什么想法吗?如果我像往常一样使用DataLoader,我必须直接输入两个class的图像,但是如果我仍然没有第二个class的图像我不知道怎么办它。
谢谢。
您至少可以通过两种方式解决问题。
- (首选)您创建自定义
Dataset
class、AugDset
,这样AugDset.__len__()
returns2 * len(real_dset)
,当idx > len(imgset)
,AugDset.__getitem__(idx)
从real_dset(idx)
. 生成合成图像
- 您创建自定义
collate_fn
函数,传递给DataLoader
,给定一个批次,它会使用您合成生成的图像对其进行扩充。