def __call__(self, inputs):
        """Functional API.

        # Arguments
            inputs: A list of input node(s) or a single input node for the
                block.

        # Returns
            list: A list of output node(s) of the Block.
        """
        self.inputs = tree.flatten(inputs)
        for input_node in self.inputs:
            if not isinstance(input_node, node_module.Node):
                raise TypeError(
                    "Expect the inputs to block {name} to be "
                    "a Node, but got {type}.".format(
                        name=self.name, type=type(input_node)
                    )
                )
            input_node.add_out_block(self)
        self.outputs = []
        for _ in range(self._num_output_node):
            output_node = node_module.Node()
            output_node.add_in_block(self)
            self.outputs.append(output_node)
        return self.outputs
Functional API.

        # Arguments
            inputs: A list of input node(s) or a single input node for the
                block.

        # Returns
            list: A list of output node(s) of the Block.
        
autokeras/engine/block.py