Hi, I was doing the CNN auto-tuning experiments with TVM recently. After the tuning process, I tried to compile the model like below:
with autotvm.apply_history_best(tuning_opt['log_filename']):
with nnvm.compiler.build_config(opt_level=3):
graph, lib, params = nnvm.compiler.build(
net,
target=target,
shape=input_shapes,
params=params,
dtype=dtype
)
It turns out that setting opt_level to 3 will make the compiled model producing different output values (compared with the original mxnet model). In fact, the accuracy dropped from 93+% to 62+% in this case.
However, I can get the exact same outputs if opt_level was set to 1 or 2.
BTW, I was doing the network auto-tuning in a computer server with 8 titan-v gpus.