Как загрузить torchvision.datasets.ImageFolder в оперативную память Google Colab - PullRequest
0 голосов
/ 26 марта 2020

Во время обучения на Google Colab я замечаю, что первые несколько тысяч изображений проходят очень быстро, но после этого обучение замедляется. Я рассчитал время для других частей обучения, чтобы увидеть, являются ли они причиной проблемы, но их время остается неизменным, даже если обучение замедляется. Я полагаю, что это потому, что изображения не сохраняются в оперативной памяти Google Colab, и он должен продолжать тянуть изображения изнутри диска Google, который медленнее. Я также заметил, что при повторном запуске обучения метод обрабатывает изображения, которые были ранее обработаны, очень быстро, но затем замедляется, когда достигает изображений, которые не были обработаны предыдущим запуском метода.

Я тренировался на colab перед использованием массивов numpy, загружая мои данные следующим образом:

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)

, когда я загружаю данные таким образом, я замечаю, что оперативная память на самом деле не увеличивается. Таким образом я загружаю примерно 20 000 изображений с моего диска Google.

Мне интересно, есть ли способ загрузить данные в оперативную память Google Colab, как это делается, когда np.load () с torchvision.datasets.ImageFolder, или есть ли другая альтернатива, где я до сих пор получаю использовать интерфейс ImageFolder.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...