如何将torchvision.datasets.ImageFolder加载到Google Colab Ram中

时间:2020-03-26 03:14:37

标签: python numpy pytorch

在Google colab上进行培训时,我注意到获得前几千张图像的速度非常快,但是经过此培训后速度会变慢。我对培训的其他部分进行了计时,以查看它们是否是导致问题的原因,但是即使培训速度变慢,它们的时间也保持一致。我相信这是因为图像没有存储在google colab的内存中,它必须不断从google驱动器中提取图像,速度较慢。我还注意到,在重新运行训练时,该方法非常快速地处理了以前处理过的图像,但是当到达先前方法未处理过的图像时,速度变慢了。

在使用numpy数组加载数据之前,我已经接受了colab的培训:

train_val_images = np.load("/content/drive/My Drive/Colab Notebooks/datasets/train_data.npy")

当我这样做时,我注意到笔记本中使用的内存正以我正在加载的numpy数组的大小精确增加。

在我的新项目中,我试图使用数据加载器和torchvision数据集,而不是像这样的numpy数组:

train_dataset = torchvision.datasets.ImageFolder(root="/content/drive/My Drive/Colab Notebooks/datasets/labeled_data/train", transform = transforms.ToTensor())

trainloader = torch.utils.data.DataLoader(train_dataset)

当我以这种方式加载数据时,我注意到正在使用的内存并没有真正增加。我正在以这种方式从我的Google驱动器加载大约20,000张图片。

我想知道是否有一种方法可以像将np.load()与torchvision.datasets.ImageFolder一样将数据加载到Google colab ram中,或者是否还有其他替代方法仍可以使用ImageFolder界面。

0 个答案:

没有答案