16
16
# under the License.
17
17
18
18
import tvm
19
- from tvm import te
20
19
import numpy as np
21
20
from tvm import relay
22
21
from tvm .contrib import graph_runtime
22
+ from tvm .relay .frontend .mxnet_qnn_op_utils import dequantize_mxnet_min_max , \
23
+ quantize_mxnet_min_max , \
24
+ get_mkldnn_int8_scale , \
25
+ get_mkldnn_uint8_scale , \
26
+ quantize_conv_bias_mkldnn_from_var
23
27
24
28
25
29
def test_mkldnn_dequantize ():
@@ -29,11 +33,10 @@ def dequantize_test_driver(in_dtype, quant_args, in_data, verify_output_data):
29
33
input_data = relay .var ("input_data" , shape = shape , dtype = in_dtype )
30
34
min_range = quant_args ['min_range' ]
31
35
max_range = quant_args ['max_range' ]
32
- dequantized_output = \
33
- relay .frontend .dequantize_mxnet_min_max (input_data ,
34
- min_range = min_range ,
35
- max_range = max_range ,
36
- in_dtype = in_dtype )
36
+ dequantized_output = dequantize_mxnet_min_max (input_data ,
37
+ min_range = min_range ,
38
+ max_range = max_range ,
39
+ in_dtype = in_dtype )
37
40
mod = relay .Function (relay .analysis .free_vars (dequantized_output ), dequantized_output )
38
41
mod = tvm .IRModule .from_expr (mod )
39
42
with relay .build_config (opt_level = 3 ):
@@ -79,17 +82,15 @@ def test_int8_to_float32():
79
82
80
83
81
84
def test_mkldnn_quantize ():
82
-
83
85
def quantize_test_driver (out_dtype , quant_args , in_data , verify_output_data ):
84
86
shape = in_data .shape
85
87
input_data = relay .var ("input_data" , shape = shape , dtype = 'float32' )
86
88
min_range = quant_args ['min_range' ]
87
89
max_range = quant_args ['max_range' ]
88
- quantized_output , _ , _ = \
89
- relay .frontend .quantize_mxnet_min_max (input_data ,
90
- min_range = min_range ,
91
- max_range = max_range ,
92
- out_dtype = out_dtype )
90
+ quantized_output , _ , _ = quantize_mxnet_min_max (input_data ,
91
+ min_range = min_range ,
92
+ max_range = max_range ,
93
+ out_dtype = out_dtype )
93
94
mod = relay .Function (relay .analysis .free_vars (quantized_output ), quantized_output )
94
95
mod = tvm .IRModule .from_expr (mod )
95
96
with relay .build_config (opt_level = 3 ):
@@ -140,24 +141,24 @@ def test_get_mkldnn_int8_scale():
140
141
range_min = - 3.904039
141
142
range_max = 3.904039
142
143
expected = 0.03061991354976495
143
- output = relay . frontend . get_mkldnn_int8_scale (range_max = range_max ,
144
- range_min = range_min )
144
+ output = get_mkldnn_int8_scale (range_max = range_max ,
145
+ range_min = range_min )
145
146
assert np .allclose (output , expected )
146
147
147
148
148
149
def test_get_mkldnn_uint8_scale ():
149
150
range_min = 0.0
150
151
range_max = 55.77269
151
152
expected = 0.21828841189047482
152
- output = relay . frontend . get_mkldnn_uint8_scale (range_max = range_max ,
153
- range_min = range_min )
153
+ output = get_mkldnn_uint8_scale (range_max = range_max ,
154
+ range_min = range_min )
154
155
assert np .allclose (output , expected )
155
156
156
157
157
158
def test_quantize_conv_bias_mkldnn_from_var ():
158
159
bias_var = relay .var ('bias' , shape = (3 ,), dtype = 'float32' )
159
160
bias_scale = tvm .nd .array (np .array ([0.5 , 0.6 , 0.7 ]))
160
- output = relay . frontend . quantize_conv_bias_mkldnn_from_var (bias_var , bias_scale )
161
+ output = quantize_conv_bias_mkldnn_from_var (bias_var , bias_scale )
161
162
assert isinstance (output , tvm .relay .expr .Call )
162
163
attrs = output .attrs
163
164
assert attrs .axis == 0
@@ -171,4 +172,4 @@ def test_quantize_conv_bias_mkldnn_from_var():
171
172
test_mkldnn_quantize ()
172
173
test_get_mkldnn_int8_scale ()
173
174
test_get_mkldnn_uint8_scale ()
174
- test_quantize_conv_bias_mkldnn_from_var ()
175
+ test_quantize_conv_bias_mkldnn_from_var ()
0 commit comments