1

我已将 MNIST 图像转换为 Google 驱动器文件夹中的 .pt 文件。我正在 Colab 中编写我的 Pytorch 代码。

我想使用这些文件,并创建一个将这些图像存储为张量的数据集。我怎样才能做到这一点?

在训练期间转换图像花费了太长时间。因此,转换它们并将它们全部保存为 .pt 文件。我只想将它们作为数据集加载回来并在我的模型中使用它们。

4

1 回答 1

2

您所遵循的保存图像的方法确实是一个好主意。在这种情况下,您可以简单地编写自己的 Dataset 类来加载图像。

from torch.utils.data import Dataset, DataLoader
from torch.utils.data.sampler import RandomSampler

class ReaderDataset(Dataset):
    def __init__(self, filename):
        # load the images from file

    def __len__(self):
        # return total dataset size

    def __getitem__(self, index):
        # write your code to return each batch element

然后您可以按如下方式创建 Dataloader。

train_dataset = ReaderDataset(filepath)
train_sampler = RandomSampler(train_dataset)
train_loader = DataLoader(
    train_dataset,
    batch_size=args.batch_size,
    sampler=train_sampler,
    num_workers=args.data_workers,
    collate_fn=batchify,
    pin_memory=args.cuda,
    drop_last=args.parallel
)
# args is a dictionary containing parameters
# batchify is a custom function that prepares each mini-batch
于 2019-04-16T06:57:19.167 回答