Implementing the models for Progressive Growing of GANs is a complex task, as the models have many custom layers and operations that are not implemented out of the box, including layers to perform pixel normalization, weight normalization during runtime, and more.
In addition to these layers, in our model design, we are including a mechanism in the models themselves; this allows for the runtime evaluation of the block that will be used as a model output, including how much input it receives from the previous layer.
The implementation described in this book, which encourages code reuse, uses (or adapts) code from an excellent implementation made by the Microsoft's Student Club of Beihang University group (https://github.com/MSC-BUAA/Keras-progressive_growing_of_gans/tree/master/Progressive%20growing%20of%20GANs).