@@ -906,7 +906,7 @@ def _quantized_scale_name(self, var_name):
906
906
"""
907
907
Return the scale name of quantized variable for the input `var_name`.
908
908
"""
909
- return "%s. scale" % (var_name )
909
+ return "%s@ scale" % (var_name )
910
910
911
911
def _is_skip_quant (self , graph , op_node ):
912
912
"""
@@ -1246,8 +1246,8 @@ def _original_var_name(self, var_name):
1246
1246
return var_name [:- len ('.quantized' )]
1247
1247
if var_name .endswith ('.dequantized' ):
1248
1248
return var_name [:- len ('.dequantized' )]
1249
- if var_name .endswith ('. scale' ):
1250
- return var_name [:- len ('. scale' )]
1249
+ if var_name .endswith ('@ scale' ):
1250
+ return var_name [:- len ('@ scale' )]
1251
1251
else :
1252
1252
return var_name
1253
1253
@@ -1440,11 +1440,18 @@ def apply(self, graph):
1440
1440
[core .VarDesc .VarType .FP64 , core .VarDesc .VarType .FP32 ]:
1441
1441
continue
1442
1442
1443
- scale_node = graph .create_persistable_node (
1444
- name = self ._scale_name (in_node .name ()),
1445
- var_type = core .VarDesc .VarType .LOD_TENSOR ,
1446
- shape = [1 ],
1447
- var_dtype = in_node .dtype ())
1443
+ try :
1444
+ graph ._find_node_by_name (
1445
+ graph .all_var_nodes (),
1446
+ self ._scale_name (in_node .name ()))
1447
+ continue
1448
+ except :
1449
+ scale_node = graph .create_persistable_node (
1450
+ name = self ._scale_name (in_node .name ()),
1451
+ var_type = core .VarDesc .VarType .LOD_TENSOR ,
1452
+ shape = [1 ],
1453
+ var_dtype = in_node .dtype ())
1454
+
1448
1455
data_type = 'float64' if in_node .dtype () \
1449
1456
== core .VarDesc .VarType .FP64 else 'float32'
1450
1457
_init_var_node (scale_node , np .ones ([1 ], dtype = data_type ),
@@ -1705,7 +1712,7 @@ def _inser_quant_dequant_moving_average_abs_max_op(self, graph, var_node,
1705
1712
shape = var_node .shape (),
1706
1713
var_dtype = var_node .dtype ())
1707
1714
scale_in_node = graph .create_persistable_node (
1708
- name = "{}.quant_dequant. scale" .format (var_node .name ()),
1715
+ name = "{}.quant_dequant@ scale" .format (var_node .name ()),
1709
1716
var_type = core .VarDesc .VarType .LOD_TENSOR ,
1710
1717
shape = [1 ],
1711
1718
var_dtype = var_node .dtype ())
@@ -1954,7 +1961,7 @@ def _quantized_scale_name(self, var_name):
1954
1961
"""
1955
1962
Return the scale name of quantized variable for the input `var_name`.
1956
1963
"""
1957
- return "%s. scale" % (var_name )
1964
+ return "%s@ scale" % (var_name )
1958
1965
1959
1966
def _zero_point_name (self , var_name ):
1960
1967
"""
0 commit comments