Python 如何从图像列表开始加载图像数据集

Python 如何从图像列表开始加载图像数据集,python,pytorch,torch,torchvision,Python,Pytorch,Torch,Torchvision,我有一个服务从另一个服务接收二进制格式的图像(我们称之为服务B): 当一个图像通过PIL成功转换时,它也会被附加到一个图像列表中。 img_list.append(image) 当我有足够多的图像时,我想使用Pytorch加载我的图像列表,就像它是一个数据集一样 if img_list.__len__() == 500: ### Load dataset and do a transform operation on the data 在以前版本的软件中,需要的只是从

我有一个服务从另一个服务接收二进制格式的图像(我们称之为服务B):


当一个图像通过PIL成功转换时,它也会被附加到一个图像列表中。
img_list.append(image)    

当我有足够多的图像时,我想使用Pytorch加载我的图像列表,就像它是一个数据集一样

if img_list.__len__() == 500:
     ### Load dataset and do a transform operation on the data

在以前版本的软件中,需要的只是从文件夹中检索图像,因此加载所有图像非常简单
my_dataset = datasets.ImageFolder("path/to/images/folder/", transform=transform)
dataset_iterator = DataLoader(my_dataset, batch_size=1)

现在我的问题是如何执行转换并从列表中加载数据集。

您只需编写一个自定义数据集:

类MyDataset(torch.util.data.Dataset):
定义初始化(自我、img列表、扩充):
超级(MyDataset,self)。\uuuu init
self.img\u list=img\u list
自我增强=增强
定义(自我):
返回len(self.img_列表)
def uu getitem uu(self,idx):
img=self.img\u列表[idx]
返回自增强(img)

您现在可以将此自定义数据集插入到
数据加载器
中,您就完成了。

尝试使用pytorch/service,在那里您可以使用请求批处理选项,我认为这应该可以做到。或者您必须使用异步队列。非常感谢,我想补充一点,在我的例子中,还需要添加一个targets
self.targets=torch.LongTensor(my_targets)
,其中
my_targets
基本上是另一个列表。当然,
\uuu getitem\uuu
也将相关目标返回给image@TajinderSingh显然,有目标总是好的。。
my_dataset = datasets.ImageFolder("path/to/images/folder/", transform=transform)
dataset_iterator = DataLoader(my_dataset, batch_size=1)