Потери генератора DCGAN застряли на 0,7 после 5 эпох

После игры с учебником PyTorch DCGAN Faces я начал работать со своим собственным набором данных, который состоит из изображений размером 1x32x32 (канал, высота, ширина).

Теперь я применил большинство вещей из этого хранилища: https://github.com/soumith/ganhacks

Но в настоящее время я застрял.

Я сделал этот аргумент, чтобы выбрать, тренировать ли генератор (G) или дискриминатор (D).

    if i > 1:
        if D_G_z1 < 0.5:
            train_G = True
            train_D = False
        else:
            train_D = True
            train_G = False

Где я номер текущей партии, train_D а также train_G установлены на True в пакетном режиме. D_G_z1 это D(G(x)).

Я ожидаю, что после обучения D и D(G(x)) = 0,5 D прекратит обучение, а G начнет тренировку, чтобы улучшить реализм генерируемых изображений и т. Д. Теперь D и G тренируются, когда условия встретились.

Тем не менее, потеря G застряла на 0,7 после 5 эпох и, похоже, не изменилась с 1k эпох (я не пробовал больше). Изменение скорости обучения для G, или сделать G более / менее сложным, изменяя количество каналов на слой ConvTranspose2d, также не помогает.

Какой сейчас лучший подход? Любой совет будет принят во внимание.

Код находится здесь: https://github.com/deKeijzer/SRON-DCGAN/blob/master/notebooks/ExoGAN_v1.ipynb

TLDR: потеря генератора застряла на 0,7, больше не меняется. Также он не "выучил" хорошее представление о X.

0 ответов

Другие вопросы по тегам