Num_workers> 0 создает ошибку памяти в SLURM? - PullRequest
0 голосов
/ 18 октября 2019

Я пытаюсь запустить свой код в кластере SLURM со следующей конфигурацией - 1 узел, 2 графических процессора Nvidia 1080Ti, 8 ЦП и 8 ГБ ОЗУ на ЦП.

Я реализую ResNeXt с набором данных, который содержит около 1 миллиона 32x32 изображений. Когда я пытаюсь запустить этот код с torchvision.datasets.ImageFolder и num_workers = 4-8, он выдает ошибку «превышена виртуальная память», запрашивая 341 ГБ данных! Это кажется немного абсурдным. Эта ошибка выдается в первом цикле trainLoader, когда он готовит первый пакет для кода.

Изначально я предполагал, что это была ошибка в моей программе, но моя программа прекрасно работает с num_workers = 8 в Google Colab. Моя программа работает, только когда я установил num_workers = 0. При num_workers = 2 она работает в течение двух эпох, прежде чем выдать одну и ту же ошибку.

...