model.py 文件源码

python
阅读 43 收藏 0 点赞 0 评论 0

项目:LIE 作者: EmbraceLife 项目源码 文件源码
def build(self):
        """ Builds the model.
        """

        if not self._parsed:
            logger.warning('The model has not been parsed yet. We will try to '
                'parse it without context, but this may easily fail. Make '
                'sure Model.parse() is called before Model.build().')
            self.parse(None)

        logger.debug('Enumerating the model containers.')

        # Construct the high-level network nodes.
        nodes = self.enumerate_nodes(self.root)

        logger.debug('Assembling the model dependency graph.')
        input_nodes, output_nodes, network = self.assemble_graph(nodes)

        if logger.isEnabledFor(logging.TRACE):
            queue = deque(input_nodes.values())
            while queue:
                node = queue.popleft()
                logger.trace('Assembled Node: %s', node.container.name)
                logger.trace('  Uses: %s', ', '
                    .join([x.container.name for x in node.inputs]))
                logger.trace('  Used by: %s', ', '
                    .join([x.container.name for x in node.outputs]))
                logger.trace('  Aliases: %s', ', '.join(node.names))
                queue.extend(node.outputs)

        logger.debug('Connecting the model graph.')
        inputs, input_aliases, outputs, output_aliases = \
            self.build_graph(input_nodes, output_nodes, network)

        logger.debug('Model inputs:  %s', ', '.join(node for node in inputs))
        logger.debug('Model outputs: %s', ', '.join(node for node in outputs))

        self.inputs = inputs
        self.outputs = outputs
        self.network = network
        self.input_aliases = input_aliases
        self.output_aliases = output_aliases
        self.key_cache = {}

        self.compiled = None

    ###########################################################################
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号