DEBUG:autotvm:SA iter: 50 last_update: 49 max-0: -0.93 max-1: -0.24 temp: 0.90 elapsed: 0.33
DEBUG:autotvm:SA iter: 100 last_update: 98 max-0: -0.83 max-1: -0.24 temp: 0.80 elapsed: 0.67
DEBUG:autotvm:SA iter: 150 last_update: 149 max-0: -0.77 max-1: -0.24 temp: 0.70 elapsed: 1.00
DEBUG:autotvm:SA iter: 200 last_update: 194 max-0: -0.73 max-1: -0.24 temp: 0.60 elapsed: 1.33
DEBUG:autotvm:SA iter: 250 last_update: 249 max-0: -0.73 max-1: -0.24 temp: 0.50 elapsed: 1.67
DEBUG:autotvm:SA iter: 300 last_update: 282 max-0: -0.71 max-1: -0.24 temp: 0.40 elapsed: 2.00
DEBUG:autotvm:SA iter: 332 last_update: 282 max-0: -0.71 max-1: -0.24 elapsed: 2.21
DEBUG:autotvm:SA Maximums: [(-0.23658377, 1736), (-0.23658377, 2248), (-0.29748577, 3146), (-0.29748577, 3658), (-0.33275193, 3786), (-0.3595295, 6280), (-0.37541288, 3082), (-0.38927752, 2184), (-0.41067904, 3210), (-0.4159525, 7505), (-0.4457621, 7882), (-0.4457621, 7370), (-0.45005792, 3914), (-0.45005792, 3402), (-0.4506781, 4689), (-0.4754253, 3104), (-0.4831971, 7697), (-0.48532408, 4042), (-0.49748755, 4937), (-0.49801934, 4113), (-0.50938356, 4625), (-0.51211834, 4433), (-0.51963353, 5201), (-0.52348256, 4945), (-0.52368915, 7306), (-0.527985, 3850), (-0.5403044, 3232), (-0.5471152, 4169), (-0.56325114, 3978), (-0.56325114, 3466), (-0.5708238, 4369), (-0.578339, 5137), (-0.59020555, 7889), (-0.592438, 5457), (-0.6050278, 4305), (-0.6163542, 3537), (-0.616392, 4817), (-0.6175045, 5608), (-0.6175045, 5544), (-0.61991966, 4425), (-0.6207905, 5713), (-0.6248933, 3793), (-0.6321547, 6225), (-0.6397935, 3345), (-0.6403719, 7569), (-0.648911, 7825), (-0.65008116, 5329), (-0.65114343, 5393), (-0.66373324, 4241), (-0.67509747, 4753), (-0.67783225, 4561), (-0.67949593, 5649), (-0.6811292, 5449), (-0.6835989, 3729), (-0.6872525, 5032), (-0.68919647, 5073), (-0.69980896, 4105), (-0.7011101, 6737), (-0.70624745, 4584), (-0.70624745, 4520), (-0.7084328, 1448), (-0.7084328, 1512), (-0.7087866, 5265), (-0.7128291, 4297)]
DEBUG:autotvm:Early stopped. Best iter: 90.
DEBUG:autotvm:Finish loading 90808 records
INFO:autotvm:Extract 83 best records from the android.SOD-mobilenetv2-4.log.tmp
DEBUG:autotvm:Finish loading 83 records
Compile…
[03:58:18] /usr/tvm/src/pass/vectorize_loop.cc:365: Detect vector condition in Vectorized Loop, scalarizing…
[03:58:18] /usr/tvm/src/pass/vectorize_loop.cc:365: Detect vector condition in Vectorized Loop, scalarizing…
Traceback (most recent call last):
File “tune_relay_arm_CPD.py”, line 250, in
tune_and_evaluate(tuning_option)
File “tune_relay_arm_CPD.py”, line 214, in tune_and_evaluate
net, target=target, params=params)
File “/usr/tvm/python/tvm/relay/build_module.py”, line 305, in build
graph_json, lowered_funcs, params = graph_gen.codegen(func)
File “/usr/tvm/python/tvm/relay/backend/graph_runtime_codegen.py”, line 90, in codegen
self._codegen(func)
File “/usr/tvm/python/tvm/_ffi/_ctypes/function.py”, line 209, in call
raise get_last_ffi_error()
tvm._ffi.base.TVMError: Traceback (most recent call last):
[bt] (8) /usr/tvm/build/libtvm.so(+0x72cf98) [0x7f0323779f98]
[bt] (7) /usr/tvm/build/libtvm.so(+0x727976) [0x7f0323774976]
[bt] (6) /usr/tvm/build/libtvm.so(+0x72cf98) [0x7f0323779f98]
[bt] (5) /usr/tvm/build/libtvm.so(+0x727976) [0x7f0323774976]
[bt] (4) /usr/tvm/build/libtvm.so(+0x72cb4a) [0x7f0323779b4a]
[bt] (3) /usr/tvm/build/libtvm.so(+0x6c5a6f) [0x7f0323712a6f]
[bt] (2) /usr/tvm/build/libtvm.so(+0x6cce3c) [0x7f0323719e3c]
[bt] (1) /usr/tvm/build/libtvm.so(+0x6cc314) [0x7f0323719314]
[bt] (0) /usr/tvm/build/libtvm.so(+0x9eec8b) [0x7f0323a3bc8b]
File “/usr/tvm/python/tvm/_ffi/_ctypes/function.py”, line 71, in cfun
rv = local_pyfunc(*pyargs)
File “/usr/tvm/python/tvm/relay/op/nn/_nn.py”, line 159, in schedule_conv2d
assert op is not None
TVMError: AssertionError
The backbone is mobilenetV2.
Print op.tag at the first line of _find_conv2d_op function
Before tuning:
groups 960 NCHW OIHW
elemwise
broadcast
broadcast
depthwise_conv2d_nchw
groups 576 NCHW OIHW
elemwise
broadcast
broadcast
depthwise_conv2d_nchw
groups 384 NCHW OIHW
elemwise
broadcast
broadcast
depthwise_conv2d_nchw
…
When compiling:
groups 960 NCHW OIHW
elemwise
broadcast
broadcast
spatial_depthwise_conv_nchw_output
injective,pad
‘spatial_depthwise_conv_nchw_output’ does not contain ‘conv2d’, so returns None and causes the assert.
Before tuning, it prints ‘depthwise_conv2d_nchw’. But when compiling it prints ‘spatial_depthwise_conv_nchw_output’.
Why?
What is difference between ‘depthwise_conv2d_nchw’ and ‘spatial_depthwise_conv_nchw_output’?