GraphRuntime Module Run Failed When Created with LogFile from AutoTVM Tuning

Hi:

I tried to test the performance of autotvm for a Resnet_v2_50 on a Nvidia Tesla T4 card.

At first, I just use the default log file for the relay.build function to build the graph, lib, params, and when I run it with the module created by graph_runtime.create, it works fine.

But after I tune the network on the T4 card, get the log file, build the graph, lib, params with the relay.build. When I run the module created by graph_runtime.create, it display

TVMError: Check failed: ret == 0 (-1 vs. 0) : Assert fail: (58 == int32(arg2.shape[2])), Argument arg2.shape[2] has an unsatisfied constraint

The only difference is the log file used to run relay.build. So any suggestions? Thanks

I have this issue as well, you could try to build with opt_level=2.

Build with opt_level=2 works. But the inference speed of module from auto tuned log file is same with the module from default log file.

Is it possible that when I build with opt_level=2 the relay.build does not use the auto tuned log file, so it succeed?

It should use, the reason of this problem is that something is wrong of _alter_conv2d_layout

We are not sure the real cause right now but you can refer here for further update:

Thanks a lot. It really helps