Hello Community. I implemented the TF Resampler OP. Since the logic is very similar to the already implemented “Upsampling” op, i basically just mirrored all the Upsampling logic onto the Resampler logic while tweaking necessarry positions. Classic F32 execution of a dummy model works. Trying to apply quantization on the TVM level to a dummy model containing only my custom resampler OP yields the following error:
[bt] (8) tvm_path/build/libtvm.so(+0x28ae0fb) [0x7f39bf1d80fb]
[bt] (7) tvm_path/build/libtvm.so(tvm::relay::MixedModeVisitor::VisitLeaf(tvm::RelayExpr const&)+0x72) [0x7f39bf1d7f90]
[bt] (6) tvm_path/build/libtvm.so(tvm::relay::ExprFunctor<void (tvm::RelayExpr const&)>::VisitExpr(tvm::RelayExpr const&)+0x12e) [0x7f39be62ba2c]
[bt] (5) tvm_path/build/libtvm.so(tvm::NodeFunctor<void (tvm::runtime::ObjectRef const&, tvm::relay::ExprFunctor<void (tvm::RelayExpr const&)>*)>::operator()(tvm::runtime::ObjectRef const&, tvm::relay::ExprFunctor<void (tvm::RelayExpr const&)>*) const+0x140) [0x7f39be62ca58]
[bt] (4) tvm_path/build/libtvm.so(tvm::relay::ExprFunctor<void (tvm::RelayExpr const&)>::InitVTable()::{lambda(tvm::runtime::ObjectRef const&, tvm::relay::ExprFunctor<void (tvm::RelayExpr const&)>*)#14}::_FUN(tvm::runtime::ObjectRef const&, tvm::relay::ExprFunctor<void (tvm::RelayExpr const&)>*)+0x29) [0x7f39be62c58e]
[bt] (3) tvm_path/build/libtvm.so(tvm::relay::ExprFunctor<void (tvm::RelayExpr const&)>::InitVTable()::{lambda(tvm::runtime::ObjectRef const&, tvm::relay::ExprFunctor<void (tvm::RelayExpr const&)>*)#14}::operator()(tvm::runtime::ObjectRef const&, tvm::relay::ExprFunctor<void (tvm::RelayExpr const&)>*) const+0x42) [0x7f39be62c55e]
[bt] (2) tvm_path/build/libtvm.so(tvm::relay::TypeVarEVisitor::VisitExpr_(tvm::ConstructorNode const*)+0x51) [0x7f39bef0bbd1]
[bt] (1) tvm_path/build/libtvm.so(tvm::IRModuleNode::LookupTypeDef(tvm::GlobalTypeVar const&) const+0x116) [0x7f39be51eddc]
[bt] (0) tvm_path/build/libtvm.so(dmlc::LogMessageFatal::~LogMessageFatal()+0x52) [0x7f39be1fb152]
File "tvm_path/src/ir/module.cc", line 272
TVMError:
---------------------------------------------------------------
An internal invariant was violated during the execution of TVM.
Please read TVM's error reporting guidelines.
More details can be found here: https://discuss.tvm.ai/t/error-reporting/7793.
---------------------------------------------------------------
Check failed: it != type_definitions.end() == false: There is no definition of List
The same error occurs when trying to quantize a dummy model containing only the Upsampling OP from Tensorflow (which was not developed my be). Therefore there could be an error on the TVM stack regarding the upsampling op, right? Any suggestions how to investigate this?
Best regards, Knight3