code: def make_output_layers(self):
          
          # TODO
          # use successors == 0 as the criteria for output layer
          # will fail when some intermediate layers also generate output.
          # However, because the possibility of having inserted layers,
          # it's more difficult to tell which layer is the output layer.
          # Once possible way is to keep track of newly added layers...
          self.output_layers = []
          for layer in self.layer_list:
              if len(self.get_successors(layer)) == 0:
                  self.output_layers.append(layer)
docs: Extract the ordering of output layers.