Я бы хотел реализовать SRGAN на pythorch в google сотрудник, но память DataLoader, похоже, высвобождается, поэтому, если вы включите эпоху, произойдет ошибка памяти.
Буду очень признателен, если вы скажете мне, как это сделать, чтобы освободить память для каждой партии.
Это ссылка на github кода
https://github.com/pacifinapacific/Hello-World/blob/master/Untitled0.ipynb
Оказалось 48, и ошибка памяти произошла в 1 эхо,
Если вы установите размер партии 1/6 из 8, вы получите ошибку примерно в 6 эпох.
Я читаю изображения высокого и низкого разрешения со следующим кодом. Расширить ImageFolder
но Например, даже если при обучении возникает ошибка, память GPU не освобождается
class DownSizePairImageFolder(ImageFolder):
def __init__(self, root, transform=None, large_size=256, small_size=64, **kwds):
super().__init__(root, transform=transform, **kwds)
self.large_resizer = transforms.Scale(large_size)
self.small_resizer = transforms.Scale(small_size)
def __getitem__(self, index):
path, _ = self.imgs[index]
img = self.loader(path)
large_img = self.large_resizer(img)
small_img = self.small_resizer(img)
if self.transform is not None:
large_img = self.transform(large_img)
small_img = self.transform(small_img)
return small_img, large_img
train_data = DownSizePairImageFolder('./lfw-deepfunneled/train', transform=transforms.ToTensor())
test_data = DownSizePairImageFolder('./lfw-deepfunneled/test', transform=transforms.ToTensor())
batch_size = 8
train_loader = DataLoader(train_data, batch_size, shuffle=True)
test_loader = DataLoader(test_data, batch_size, shuffle=False)