有没有办法从 fastai.data.core.Dataset 对象中有效地提取所有 PILImages?

Is there a way to efficiently extract all PILImages from fastai.data.core.Dataset object?

由于 GPU 不兼容,我试图将我的代码从 fastai1 重写为 fastai2,但我 运行 遇到了提取图像的问题:

fastai1(从train_ds中提取所有图像):

data.train_ds.x

我有 100,000 张图像作为输入,我的列表理解技术不起作用(每次我尝试 运行 时线程都被杀死):

[x[0] for x in data.train_ds]

是否有更好的方法来提取所有图像?

[x[0] for x in data.train_ds]

一次将所有图像加载到内存中,解决该问题的正确方法是在创建数据集时加载它们。

这个问题的解决方案因人们想用这些图像做什么而有所不同:因为我需要这些图像来创建一个自定义的 fastai 数据集,我决定只加载数据集中的图像并将 data.train_ds 传递给数据集。

密码是

CustomDataset(data.train_ds,...)

在 CustomDataset 中(可能在 getitem() 中)使用:

self.images[i][0]