We implemented the whole system using the PyTorch framework on a single Nvidia RTX 2080 GPU with 12 GB memory. To train the density estimator network and the discriminator, we used Adam optimizer [1]} with an initial learning rate set to \(10^{-5}\) . During the training, it was crucial to balance the weight between density and adversarial losses. A small value of \(\lambda _{adv}\)  may not help the training process significantly. In contrast, a larger value may propagate incorrect gradients to the density estimator. We empirically chose the value of \(\lambda _{adv}\)  depending on the employed dataset.
