"""Generator for Network"""

class GeneratorNetwork:
    def __init__(self):
        self.layers = []
        self.input_dim = None
        self.output_dim = None

    def add_layer(self, layer):
        if not self.layers:
            assert layer.input_dim is not None, "First layer must specify input dimensions."
            self.input_dim = layer.input_dim
        else:
            prev_layer = self.layers[-1]
            layer.set_input_dim(prev_layer.output_dim)
        self.layers.append(layer)

    def set_output_dim(self):
        if self.layers:
            last_layer = self.layers[-1]
            self.output_dim = last_layer.output_dim

    def compile(self, loss_function, optimizer):
        assert len(self.layers) >