GANs are very unstable during training as there are two networks that
are dependent on each other for improvements in their performance.
While several methods to improve the stability were implemented in the
GAN architecture, they still suffer from non-convergence. Due to their
unstable nature, an early stopping method fails to retrieve the best
performing GAN model. In order to solve this, we will save a
checkpoint of the model in every round along with the n-gram
performance metric to select the best performing model.
This stuck out to me as similar to my experience implementing a GAN in Tensorflow2. The instabilities were maddening. Still trying to improve some problems with mode collapse. Glad to hear your model selection strategy eventually worked.