When calling relay.build with a tflite model
TARGET = 'c -device=micro_dev'
disable_vectorize = tvm.target.build_config(disable_vectorize=True)
disable_fusion = relay.build_config(disabled_pass={'FuseOps'})
with disable_vectorize, disable_fusion:
graph, c_mod, params = relay.build(mod, target=TARGET, params=params)
it’ll fail with
[bt] (0) /home/tgall/tvm/tvm/build/libtvm.so(dmlc::LogMessageFatal::~LogMessageFatal()+0x79) [0x7fe4a53be8e9]
File "/home/tgall/tvm/tvm/src/relay/backend/interpreter.cc", line 592
TVMError: found cast; operators should be removed by future passes; try fusing and lowering
However if I use that same model and the target to “llvm”, no crash.
target = "llvm"
disable_vectorize = tvm.target.build_config(disable_vectorize=True)
disable_fusion = relay.build_config(disabled_pass={'FuseOps'})
with disable_vectorize, disable_fusion, relay.build_config(opt_level=3):
graph, lib, params = relay.build(mod, target, params=params)
Thoughts?