| 276 | |
| 277 | class AnalysisPatternManager(_PatternManager): |
| 278 | def analyze(self, graph: Network, args=None): |
| 279 | for layer in graph.get_layers(): |
| 280 | if layer.name in graph.removed_layers: |
| 281 | continue |
| 282 | for benefit, pattern in sorted(self.patterns.values(), key=lambda x: x[0]): |
| 283 | pattern.args = args |
| 284 | |
| 285 | if pattern.root_layer is not None and layer.type not in pattern.root_layer: |
| 286 | continue |
| 287 | if pattern.match(layer): |
| 288 | subgraph = pattern.match(layer) |
| 289 | pattern.analyze(subgraph) |
| 290 | |
| 291 | @staticmethod |
| 292 | def instance(): |