Я пытался обучить модель, используя функции потерь WGAN, работая с разными скоростями обучения, чтобы выбрать свои гиперпараметры на основе рекомендаций. Мне сказали, чтобы попытаться сохранить все простым и обработать мои гиперпараметры в первую очередь. Поэтому я установил в моей модели все свои слои только с одним фильтром.
Размер партии = 64 и скрытое затемнение = 512, как они работали лучше всего.
Когда я пытаюсь работать со своими скоростями обучения хотя я пытался использовать 0,005, 0,0005, 0,00005 и 0,000005
Кажется, ни один из них не работает даже удаленно.
Мои потери генерируются / отображаются следующим образом:
for epoch in range(epochs):
start = time.time()
disc_loss = 0
gen_loss = 0
for images in train_dataset:
#images=(images-127.5)/127.5
#images=np.squeeze(images)
images=np.expand_dims(images, axis=0)
disc_loss += train_discriminator(images)
a1.append(disc_loss)
#a1[i]=disc_loss
#a2[i]=gen_loss
i=i+1
if disc_optimizer.iterations.numpy() % n_critic == 0:
gen_loss += train_generator()
a2.append(gen_loss)
, а затем plt.plot (a1) и a2.
Для скорости обучения 0,0005 это мои потери
https://imgur.com/gallery/IlxnNre
(Не уверен в лучшем способе загрузки)
Потеря генератора действительно беспокоит меня, как и изображения. Другие показатели обучения, кажется, не намного лучше. Даже когда я увеличивал свою сеть (самые тяжелые слои, имеющие 512 фильтров, эти проблемы сохранялись)
Как мне это решить, независимо от того, что я делаю, мои модели отказываются сходиться