def match_function(self, G: GraphView): sub = GraphView() sub.add_node(MatchNode('0', matcher=lambda node:\ isinstance(node, PadParameters))) sub.add_node(MatchNode('1', matcher=lambda node:\ isinstance(node, FilterLikeParameters) and\ self.has_no_padding(node))) sub.add_edge(Edge('0', '1')) return G.match_fragment(sub)
def match_function(self, G: GraphView): sub = GraphView() sub.add_node(MatchNode('0', matcher=lambda node: isinstance(node, FcParameters) and self.valid_linear(node))) sub.add_node(MatchNode('1', matcher=lambda node: isinstance(node, ActivationParameters) and self.valid_activation(node))) sub.add_edge(Edge('0', '1')) return G.match_fragment(sub)
def match_function(self, G: GraphView): sub = GraphView() sub.add_node(MatchNode('0', matcher=lambda node:\ isinstance(node, FilterParameters))) sub.add_node(MatchNode('1', matcher=lambda node:\ isinstance(node, MatrixAddParameters))) sub.add_node(MatchNode('2', matcher=lambda node:\ isinstance(node, ConstantInputParameters))) sub.add_edge(Edge('0', '1', to_idx=0)) sub.add_edge(Edge('2', '1', to_idx=1)) return G.match_fragment(sub)
def match_function(self, G: GraphView): sub = GraphView() sub.add_node( MatchNode( '0', matcher=lambda node: isinstance(node, ReluActivationParameters ) and node.upper_bound == 6)) sub.add_node( MatchNode( '1', matcher=lambda node: isinstance(node, MatrixMulParameters))) sub.add_node( MatchNode( '2', matcher=lambda node: isinstance(node, ConstantInputParameters) and check_equals(G, node, 1.0 / 6.0))) sub.add_edge(Edge('0', '1', to_idx=0)) sub.add_edge(Edge('2', '1', to_idx=1)) return G.match_fragment(sub)
def match_function(self, G: GraphView): sub = GraphView() sub.add_node(MatchNode('0', matcher=lambda node:\ isinstance(node, Conv2DParameters) and\ self.valid_activation(node))) if self.match_activation and self.match_pool: if self.pool_after_activation: self.add_activation('1', sub) self.add_pooling('2', sub) else: self.add_pooling('1', sub) self.add_activation('2', sub) sub.add_edge(Edge('0', '1')) sub.add_edge(Edge('1', '2')) elif self.match_activation: self.add_activation('1', sub) sub.add_edge(Edge('0', '1')) elif self.match_pool: self.add_pooling('1', sub) sub.add_edge(Edge('0', '1')) return G.match_fragment(sub)
def match_function(self, G: GraphView): sub = GraphView() sub.add_node(NoOPMatcher('0')) return G.match_fragment(sub)