Skip to content

Commit

Permalink
Reference graph are updated
Browse files Browse the repository at this point in the history
  • Loading branch information
daniil-lyakhov committed Jun 26, 2024
1 parent cea1693 commit b0ed99a
Show file tree
Hide file tree
Showing 4 changed files with 63 additions and 46 deletions.
21 changes: 16 additions & 5 deletions nncf/torch/graph/operator_metatypes.py
Original file line number Diff line number Diff line change
Expand Up @@ -545,9 +545,14 @@ class PTSigmoidMetatype(PTOperatorMetatype):
class PTAddMetatype(PTOperatorMetatype):
name = "AddOp"
module_to_function_names = {
NamespaceTarget.TORCH_TENSOR: ["add", "__add__", "__iadd__", "__radd__"],
NamespaceTarget.TORCH_TENSOR: [
"add",
"add_",
"__add__",
"__iadd__",
"__radd__",
],
NamespaceTarget.TORCH: ["add"],
NamespaceTarget.ATEN: ["add_"],
}
hw_config_names = [HWConfigOpName.ADD]
num_expected_input_edges = 2
Expand All @@ -557,9 +562,14 @@ class PTAddMetatype(PTOperatorMetatype):
class PTSubMetatype(PTOperatorMetatype):
name = "SubOp"
module_to_function_names = {
NamespaceTarget.TORCH_TENSOR: ["sub", "__sub__", "__isub__", "__rsub__"],
NamespaceTarget.TORCH_TENSOR: [
"sub",
"sub_",
"__sub__",
"__isub__",
"__rsub__",
],
NamespaceTarget.TORCH: ["sub"],
NamespaceTarget.ATEN: ["sub_"],
}
hw_config_names = [HWConfigOpName.SUBTRACT]
num_expected_input_edges = 2
Expand All @@ -569,7 +579,7 @@ class PTSubMetatype(PTOperatorMetatype):
class PTMulMetatype(PTOperatorMetatype):
name = "MulOp"
module_to_function_names = {
NamespaceTarget.TORCH_TENSOR: ["mul", "__mul__", "__imul__", "__rmul__"],
NamespaceTarget.TORCH_TENSOR: ["mul", "mul_", "__mul__", "__imul__", "__rmul__"],
NamespaceTarget.TORCH: ["mul"],
}
hw_config_names = [HWConfigOpName.MULTIPLY]
Expand All @@ -582,6 +592,7 @@ class PTDivMetatype(PTOperatorMetatype):
module_to_function_names = {
NamespaceTarget.TORCH_TENSOR: [
"div",
"div_",
"__div__",
"__idiv__",
"__rdiv__",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@ strict digraph {
"0 /nncf_model_input_0" [id=0, type=nncf_model_input];
"1 SymmetricQuantizer/symmetric_quantize_0" [id=1, type=symmetric_quantize];
"2 MHA_single_input/MultiheadAttention[mha]/linear_0" [id=2, type=linear];
"3 MHA_single_input/MultiheadAttention[mha]/unflatten_0" [id=3, type=unflatten];
"4 MHA_single_input/MultiheadAttention[mha]/SymmetricQuantizer/symmetric_quantize_0" [id=4, type=symmetric_quantize];
"3 MHA_single_input/MultiheadAttention[mha]/SymmetricQuantizer/symmetric_quantize_0" [id=3, type=symmetric_quantize];
"4 MHA_single_input/MultiheadAttention[mha]/unflatten_0" [id=4, type=unflatten];
"5 MHA_single_input/MultiheadAttention[mha]/unsqueeze_0" [id=5, type=unsqueeze];
"6 MHA_single_input/MultiheadAttention[mha]/transpose_0" [id=6, type=transpose];
"7 MHA_single_input/MultiheadAttention[mha]/squeeze_0" [id=7, type=squeeze];
Expand Down Expand Up @@ -36,9 +36,9 @@ strict digraph {
"34 /nncf_model_output_1" [id=34, type=nncf_model_output];
"0 /nncf_model_input_0" -> "1 SymmetricQuantizer/symmetric_quantize_0";
"1 SymmetricQuantizer/symmetric_quantize_0" -> "2 MHA_single_input/MultiheadAttention[mha]/linear_0";
"2 MHA_single_input/MultiheadAttention[mha]/linear_0" -> "3 MHA_single_input/MultiheadAttention[mha]/unflatten_0";
"3 MHA_single_input/MultiheadAttention[mha]/unflatten_0" -> "4 MHA_single_input/MultiheadAttention[mha]/SymmetricQuantizer/symmetric_quantize_0";
"4 MHA_single_input/MultiheadAttention[mha]/SymmetricQuantizer/symmetric_quantize_0" -> "5 MHA_single_input/MultiheadAttention[mha]/unsqueeze_0";
"2 MHA_single_input/MultiheadAttention[mha]/linear_0" -> "3 MHA_single_input/MultiheadAttention[mha]/SymmetricQuantizer/symmetric_quantize_0";
"3 MHA_single_input/MultiheadAttention[mha]/SymmetricQuantizer/symmetric_quantize_0" -> "4 MHA_single_input/MultiheadAttention[mha]/unflatten_0";
"4 MHA_single_input/MultiheadAttention[mha]/unflatten_0" -> "5 MHA_single_input/MultiheadAttention[mha]/unsqueeze_0";
"5 MHA_single_input/MultiheadAttention[mha]/unsqueeze_0" -> "6 MHA_single_input/MultiheadAttention[mha]/transpose_0";
"6 MHA_single_input/MultiheadAttention[mha]/transpose_0" -> "7 MHA_single_input/MultiheadAttention[mha]/squeeze_0";
"7 MHA_single_input/MultiheadAttention[mha]/squeeze_0" -> "8 MHA_single_input/MultiheadAttention[mha]/contiguous_0";
Expand Down
Original file line number Diff line number Diff line change
@@ -1,25 +1,27 @@
strict digraph {
"0 /nncf_model_input_0" [id=0, type=nncf_model_input];
"1 ShiftScaleParametrized/clone_0" [id=1, type=clone];
"2 ShiftScaleParametrized/sub__0" [id=2, type=sub_];
"3 ShiftScaleParametrized/div__0" [id=3, type=div_];
"4 ShiftScaleParametrized/NNCFNetworkInterface[_nncf]/ModuleDict[external_quantizers]/SymmetricQuantizer[ShiftScaleParametrized/div__0|OUTPUT]/symmetric_quantize_0" [id=4, type=symmetric_quantize];
"5 ShiftScaleParametrized/NNCFConv2d[conv]/ModuleDict[pre_ops]/UpdateWeight[0]/SymmetricQuantizer[op]/symmetric_quantize_0" [id=5, type=symmetric_quantize];
"6 ShiftScaleParametrized/NNCFConv2d[conv]/conv2d_0" [id=6, type=conv2d];
"7 ShiftScaleParametrized/NNCFConv2d[conv]/ModuleDict[pre_ops]/UpdateWeight[0]/SymmetricQuantizer[op]/symmetric_quantize_1" [id=7, type=symmetric_quantize];
"8 ShiftScaleParametrized/NNCFConv2d[conv]/SymmetricQuantizer/symmetric_quantize_0" [id=8, type=symmetric_quantize];
"9 ShiftScaleParametrized/NNCFConv2d[conv]/conv2d_1" [id=9, type=conv2d];
"10 /nncf_model_output_0" [id=10, type=nncf_model_output];
"11 /nncf_model_output_1" [id=11, type=nncf_model_output];
"0 /nncf_model_input_0" -> "1 ShiftScaleParametrized/clone_0";
"0 /nncf_model_input_0" -> "8 ShiftScaleParametrized/NNCFConv2d[conv]/SymmetricQuantizer/symmetric_quantize_0";
"1 ShiftScaleParametrized/clone_0" -> "2 ShiftScaleParametrized/sub__0";
"2 ShiftScaleParametrized/sub__0" -> "3 ShiftScaleParametrized/div__0";
"3 ShiftScaleParametrized/div__0" -> "4 ShiftScaleParametrized/NNCFNetworkInterface[_nncf]/ModuleDict[external_quantizers]/SymmetricQuantizer[ShiftScaleParametrized/div__0|OUTPUT]/symmetric_quantize_0";
"4 ShiftScaleParametrized/NNCFNetworkInterface[_nncf]/ModuleDict[external_quantizers]/SymmetricQuantizer[ShiftScaleParametrized/div__0|OUTPUT]/symmetric_quantize_0" -> "6 ShiftScaleParametrized/NNCFConv2d[conv]/conv2d_0";
"5 ShiftScaleParametrized/NNCFConv2d[conv]/ModuleDict[pre_ops]/UpdateWeight[0]/SymmetricQuantizer[op]/symmetric_quantize_0" -> "6 ShiftScaleParametrized/NNCFConv2d[conv]/conv2d_0";
"6 ShiftScaleParametrized/NNCFConv2d[conv]/conv2d_0" -> "10 /nncf_model_output_0";
"7 ShiftScaleParametrized/NNCFConv2d[conv]/ModuleDict[pre_ops]/UpdateWeight[0]/SymmetricQuantizer[op]/symmetric_quantize_1" -> "9 ShiftScaleParametrized/NNCFConv2d[conv]/conv2d_1";
"8 ShiftScaleParametrized/NNCFConv2d[conv]/SymmetricQuantizer/symmetric_quantize_0" -> "9 ShiftScaleParametrized/NNCFConv2d[conv]/conv2d_1";
"9 ShiftScaleParametrized/NNCFConv2d[conv]/conv2d_1" -> "11 /nncf_model_output_1";
"1 SymmetricQuantizer/symmetric_quantize_0" [id=1, type=symmetric_quantize];
"2 ShiftScaleParametrized/clone_0" [id=2, type=clone];
"3 ShiftScaleParametrized/sub__0" [id=3, type=sub_];
"4 ShiftScaleParametrized/NNCFNetworkInterface[_nncf]/ModuleDict[external_quantizers]/SymmetricQuantizer[ShiftScaleParametrized/sub__0|OUTPUT]/symmetric_quantize_0" [id=4, type=symmetric_quantize];
"5 ShiftScaleParametrized/div__0" [id=5, type=div_];
"6 ShiftScaleParametrized/NNCFNetworkInterface[_nncf]/ModuleDict[external_quantizers]/SymmetricQuantizer[ShiftScaleParametrized/div__0|OUTPUT]/symmetric_quantize_0" [id=6, type=symmetric_quantize];
"7 ShiftScaleParametrized/NNCFConv2d[conv]/ModuleDict[pre_ops]/UpdateWeight[0]/SymmetricQuantizer[op]/symmetric_quantize_0" [id=7, type=symmetric_quantize];
"8 ShiftScaleParametrized/NNCFConv2d[conv]/conv2d_0" [id=8, type=conv2d];
"9 ShiftScaleParametrized/NNCFConv2d[conv]/ModuleDict[pre_ops]/UpdateWeight[0]/SymmetricQuantizer[op]/symmetric_quantize_1" [id=9, type=symmetric_quantize];
"10 ShiftScaleParametrized/NNCFConv2d[conv]/conv2d_1" [id=10, type=conv2d];
"11 /nncf_model_output_0" [id=11, type=nncf_model_output];
"12 /nncf_model_output_1" [id=12, type=nncf_model_output];
"0 /nncf_model_input_0" -> "1 SymmetricQuantizer/symmetric_quantize_0";
"1 SymmetricQuantizer/symmetric_quantize_0" -> "2 ShiftScaleParametrized/clone_0";
"1 SymmetricQuantizer/symmetric_quantize_0" -> "10 ShiftScaleParametrized/NNCFConv2d[conv]/conv2d_1";
"2 ShiftScaleParametrized/clone_0" -> "3 ShiftScaleParametrized/sub__0";
"3 ShiftScaleParametrized/sub__0" -> "4 ShiftScaleParametrized/NNCFNetworkInterface[_nncf]/ModuleDict[external_quantizers]/SymmetricQuantizer[ShiftScaleParametrized/sub__0|OUTPUT]/symmetric_quantize_0";
"4 ShiftScaleParametrized/NNCFNetworkInterface[_nncf]/ModuleDict[external_quantizers]/SymmetricQuantizer[ShiftScaleParametrized/sub__0|OUTPUT]/symmetric_quantize_0" -> "5 ShiftScaleParametrized/div__0";
"5 ShiftScaleParametrized/div__0" -> "6 ShiftScaleParametrized/NNCFNetworkInterface[_nncf]/ModuleDict[external_quantizers]/SymmetricQuantizer[ShiftScaleParametrized/div__0|OUTPUT]/symmetric_quantize_0";
"6 ShiftScaleParametrized/NNCFNetworkInterface[_nncf]/ModuleDict[external_quantizers]/SymmetricQuantizer[ShiftScaleParametrized/div__0|OUTPUT]/symmetric_quantize_0" -> "8 ShiftScaleParametrized/NNCFConv2d[conv]/conv2d_0";
"7 ShiftScaleParametrized/NNCFConv2d[conv]/ModuleDict[pre_ops]/UpdateWeight[0]/SymmetricQuantizer[op]/symmetric_quantize_0" -> "8 ShiftScaleParametrized/NNCFConv2d[conv]/conv2d_0";
"8 ShiftScaleParametrized/NNCFConv2d[conv]/conv2d_0" -> "11 /nncf_model_output_0";
"9 ShiftScaleParametrized/NNCFConv2d[conv]/ModuleDict[pre_ops]/UpdateWeight[0]/SymmetricQuantizer[op]/symmetric_quantize_1" -> "10 ShiftScaleParametrized/NNCFConv2d[conv]/conv2d_1";
"10 ShiftScaleParametrized/NNCFConv2d[conv]/conv2d_1" -> "12 /nncf_model_output_1";
}
Original file line number Diff line number Diff line change
@@ -1,17 +1,21 @@
strict digraph {
"0 /nncf_model_input_0" [id=0, type=nncf_model_input];
"1 ShiftScaleParametrized/clone_0" [id=1, type=clone];
"2 ShiftScaleParametrized/sub__0" [id=2, type=sub_];
"3 ShiftScaleParametrized/div__0" [id=3, type=div_];
"4 ShiftScaleParametrized/NNCFNetworkInterface[_nncf]/ModuleDict[external_quantizers]/SymmetricQuantizer[ShiftScaleParametrized/div__0|OUTPUT]/symmetric_quantize_0" [id=4, type=symmetric_quantize];
"5 ShiftScaleParametrized/NNCFConv2d[conv]/ModuleDict[pre_ops]/UpdateWeight[0]/SymmetricQuantizer[op]/symmetric_quantize_0" [id=5, type=symmetric_quantize];
"6 ShiftScaleParametrized/NNCFConv2d[conv]/conv2d_0" [id=6, type=conv2d];
"7 /nncf_model_output_0" [id=7, type=nncf_model_output];
"0 /nncf_model_input_0" -> "1 ShiftScaleParametrized/clone_0";
"1 ShiftScaleParametrized/clone_0" -> "2 ShiftScaleParametrized/sub__0";
"2 ShiftScaleParametrized/sub__0" -> "3 ShiftScaleParametrized/div__0";
"3 ShiftScaleParametrized/div__0" -> "4 ShiftScaleParametrized/NNCFNetworkInterface[_nncf]/ModuleDict[external_quantizers]/SymmetricQuantizer[ShiftScaleParametrized/div__0|OUTPUT]/symmetric_quantize_0";
"4 ShiftScaleParametrized/NNCFNetworkInterface[_nncf]/ModuleDict[external_quantizers]/SymmetricQuantizer[ShiftScaleParametrized/div__0|OUTPUT]/symmetric_quantize_0" -> "6 ShiftScaleParametrized/NNCFConv2d[conv]/conv2d_0";
"5 ShiftScaleParametrized/NNCFConv2d[conv]/ModuleDict[pre_ops]/UpdateWeight[0]/SymmetricQuantizer[op]/symmetric_quantize_0" -> "6 ShiftScaleParametrized/NNCFConv2d[conv]/conv2d_0";
"6 ShiftScaleParametrized/NNCFConv2d[conv]/conv2d_0" -> "7 /nncf_model_output_0";
"1 SymmetricQuantizer/symmetric_quantize_0" [id=1, type=symmetric_quantize];
"2 ShiftScaleParametrized/clone_0" [id=2, type=clone];
"3 ShiftScaleParametrized/sub__0" [id=3, type=sub_];
"4 ShiftScaleParametrized/NNCFNetworkInterface[_nncf]/ModuleDict[external_quantizers]/SymmetricQuantizer[ShiftScaleParametrized/sub__0|OUTPUT]/symmetric_quantize_0" [id=4, type=symmetric_quantize];
"5 ShiftScaleParametrized/div__0" [id=5, type=div_];
"6 ShiftScaleParametrized/NNCFNetworkInterface[_nncf]/ModuleDict[external_quantizers]/SymmetricQuantizer[ShiftScaleParametrized/div__0|OUTPUT]/symmetric_quantize_0" [id=6, type=symmetric_quantize];
"7 ShiftScaleParametrized/NNCFConv2d[conv]/ModuleDict[pre_ops]/UpdateWeight[0]/SymmetricQuantizer[op]/symmetric_quantize_0" [id=7, type=symmetric_quantize];
"8 ShiftScaleParametrized/NNCFConv2d[conv]/conv2d_0" [id=8, type=conv2d];
"9 /nncf_model_output_0" [id=9, type=nncf_model_output];
"0 /nncf_model_input_0" -> "1 SymmetricQuantizer/symmetric_quantize_0";
"1 SymmetricQuantizer/symmetric_quantize_0" -> "2 ShiftScaleParametrized/clone_0";
"2 ShiftScaleParametrized/clone_0" -> "3 ShiftScaleParametrized/sub__0";
"3 ShiftScaleParametrized/sub__0" -> "4 ShiftScaleParametrized/NNCFNetworkInterface[_nncf]/ModuleDict[external_quantizers]/SymmetricQuantizer[ShiftScaleParametrized/sub__0|OUTPUT]/symmetric_quantize_0";
"4 ShiftScaleParametrized/NNCFNetworkInterface[_nncf]/ModuleDict[external_quantizers]/SymmetricQuantizer[ShiftScaleParametrized/sub__0|OUTPUT]/symmetric_quantize_0" -> "5 ShiftScaleParametrized/div__0";
"5 ShiftScaleParametrized/div__0" -> "6 ShiftScaleParametrized/NNCFNetworkInterface[_nncf]/ModuleDict[external_quantizers]/SymmetricQuantizer[ShiftScaleParametrized/div__0|OUTPUT]/symmetric_quantize_0";
"6 ShiftScaleParametrized/NNCFNetworkInterface[_nncf]/ModuleDict[external_quantizers]/SymmetricQuantizer[ShiftScaleParametrized/div__0|OUTPUT]/symmetric_quantize_0" -> "8 ShiftScaleParametrized/NNCFConv2d[conv]/conv2d_0";
"7 ShiftScaleParametrized/NNCFConv2d[conv]/ModuleDict[pre_ops]/UpdateWeight[0]/SymmetricQuantizer[op]/symmetric_quantize_0" -> "8 ShiftScaleParametrized/NNCFConv2d[conv]/conv2d_0";
"8 ShiftScaleParametrized/NNCFConv2d[conv]/conv2d_0" -> "9 /nncf_model_output_0";
}

0 comments on commit b0ed99a

Please sign in to comment.