Skip to content

Commit

Permalink
Comments
Browse files Browse the repository at this point in the history
  • Loading branch information
daniil-lyakhov committed Aug 23, 2024
1 parent 4e7ecba commit 47bfdbe
Showing 1 changed file with 10 additions and 7 deletions.
17 changes: 10 additions & 7 deletions nncf/experimental/torch/fx/nncf_graph_builder.py
Original file line number Diff line number Diff line change
Expand Up @@ -65,11 +65,14 @@ def _get_layer_attributes(
return None

@staticmethod
def _get_node_type_and_metatype(node: torch.fx.Node) -> Tuple[str, om.OperatorMetatype]:
def _get_node_type_and_metatype(
node: torch.fx.Node, model: torch.fx.GraphModule
) -> Tuple[str, om.OperatorMetatype]:
"""
Retrieves node's type and metatype.
:param node: Given node.
:param model: Given GraphModule.
:return: Node's type and metatype.
"""
if node.op == "placeholder":
Expand All @@ -95,6 +98,11 @@ def _get_node_type_and_metatype(node: torch.fx.Node) -> Tuple[str, om.OperatorMe
node_metatype = UnknownMetatype
if node_metatype is UnknownMetatype:
nncf_logger.debug(f"Unknown metatype for node: {node}")

if node_metatype.get_subtypes():
layer_attrs = GraphConverter._get_layer_attributes(node, node_metatype, model)
node_subtype = node_metatype.determine_subtype(layer_attrs)
node_metatype = node_subtype or node_metatype
return node_type, node_metatype

@staticmethod
Expand All @@ -111,12 +119,7 @@ def create_nncf_graph(model: torch.fx.GraphModule) -> PTNNCFGraph:
nncf_graph = PTNNCFGraph()

for source_node in model.graph.nodes:
node_type, node_metatype = GraphConverter._get_node_type_and_metatype(source_node)

if node_metatype.get_subtypes():
layer_attrs = GraphConverter._get_layer_attributes(source_node, node_metatype, model)
node_subtype = node_metatype.determine_subtype(layer_attrs)
node_metatype = node_subtype or node_metatype
node_type, node_metatype = GraphConverter._get_node_type_and_metatype(source_node, model)

nncf_graph.add_nncf_node(
node_name=source_node.name,
Expand Down

0 comments on commit 47bfdbe

Please sign in to comment.