def remove_edges_for_nodes(graph, node_attrs: dict, edge_attrs: dict): from openvino.tools.mo.graph.graph import Node for node in graph.nodes(): node = Node(graph, node) if all([ node.has(attr) and node[attr] == node_attrs[attr] for attr in node_attrs ]): nodes_edges = node.in_nodes_edges() for port in nodes_edges: src_node, edge = nodes_edges[port] if all([ attr in edge and edge[attr] == edge_attrs[attr] for attr in edge_attrs ]): graph.remove_edge(src_node.id, node.id)