Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ESP32 Model Deployment Project using TVM (AIV-682) #155

Closed
YigitKaanBingol opened this issue Mar 11, 2024 · 14 comments
Closed

ESP32 Model Deployment Project using TVM (AIV-682) #155

YigitKaanBingol opened this issue Mar 11, 2024 · 14 comments

Comments

@YigitKaanBingol
Copy link

Hello guys,
I am trying to deploy my custom Yolov5 model to Esp32s3, but i am facing that issue while i try to "export_onnx_model.py", I am getting this error.

`
Model Information:

Input Name: images
Input Shape: (1, 3, 192, 192)
Input DType: float
Output Name: output0
Output Shape: (1, 2268, 6)
Output DType: float
[13:06:06] /home/gansichen/Workspace/projects/local/framework/tvm/src/relay/transforms/convert_layout.cc:99: Warning: Desired layout(s) not specified for op: nn.max_pool2d
[13:06:06] /home/gansichen/Workspace/projects/local/framework/tvm/src/relay/transforms/convert_layout.cc:99: Warning: Desired layout(s) not specified for op: nn.max_pool2d
[13:06:06] /home/gansichen/Workspace/projects/local/framework/tvm/src/relay/transforms/convert_layout.cc:99: Warning: Desired layout(s) not specified for op: nn.max_pool2d
[13:06:06] /home/gansichen/Workspace/projects/local/framework/tvm/src/relay/transforms/convert_layout.cc:99: Warning: Desired layout(s) not specified for op: image.resize2d
[13:06:06] /home/gansichen/Workspace/projects/local/framework/tvm/src/relay/transforms/convert_layout.cc:99: Warning: Desired layout(s) not specified for op: image.resize2d
Traceback (most recent call last):
File "../../tools/tvm/export_onnx_model.py", line 237, in
dump_tvm_onnx_project(target_chip=args.target_chip, model_path=args.model_path, img_path=args.img_path, template_path=args.template_path, generated_project_path=args.out_path)
File "../../tools/tvm/export_onnx_model.py", line 167, in dump_tvm_onnx_project
mod = preprocess_onnx_for_esp(mod, params)
File "/home/train/esp-dl/tools/tvm/python/tvm/relay/op/contrib/esp.py", line 61, in preprocess_onnx_for_esp
return seq(mod)
File "/home/train/esp-dl/tools/tvm/python/tvm/ir/transform.py", line 160, in call
return _ffi_transform_api.RunPass(self, mod)
File "/home/train/esp-dl/tools/tvm/python/tvm/_ffi/_ctypes/packed_func.py", line 238, in call
raise get_last_ffi_error()
tvm.error.InternalError: Traceback (most recent call last):
84: 0xffffffffffffffff
83: _start
82: Py_BytesMain
81: Py_RunMain
80: PyRun_SimpleFileExFlags
79: 0x0000000000673b60
78: 0x0000000000673aba
77: 0x0000000000673a40
76: PyEval_EvalCode
75: _PyEval_EvalCodeWithName
74: _PyEval_EvalFrameDefault
73: _PyFunction_Vectorcall
72: _PyEval_EvalCodeWithName
71: _PyEval_EvalFrameDefault
70: _PyFunction_Vectorcall
69: _PyEval_EvalCodeWithName
68: _PyEval_EvalFrameDefault
67: _PyObject_MakeTpCall
66: 0x000000000057a42d
65: _PyFunction_Vectorcall
64: _PyEval_EvalFrameDefault
63: PyObject_MakeTpCall
62: 0x000000000057a42d
61: PyFunction_Vectorcall
60: PyEval_EvalCodeWithName
59: PyEval_EvalFrameDefault
58: PyObject_MakeTpCall
57: 0x00007f834ca199db
56: ctypes_callproc
55: 0x00007f83422be409
54: 0x00007f83422beff4
53: tvm::runtime::TVMRetValue tvm::runtime::PackedFunc::operator()<tvm::IRModule, tvm::transform::PassContext>(tvm::IRModule&&, tvm::transform::PassContext&&) const
52: operator()
at /home/gansichen/Workspace/projects/local/framework/tvm/src/relay/backend/contrib/esp/generate_constants.cc:325
51: tvm::relay::contrib::esp::GenerateConstants(tvm::IRModule const&)
at /home/gansichen/Workspace/projects/local/framework/tvm/src/relay/backend/contrib/esp/generate_constants.cc:312
50: tvm::relay::MixedModeMutator::VisitExpr(tvm::RelayExpr const&)
at /home/gansichen/Workspace/projects/local/framework/tvm/src/relay/ir/expr_functor.cc:102
49: ExpandDataflow<tvm::relay::MixedModeMutator::VisitExpr(const Expr&)::<lambda(const Expr&)>, tvm::relay::MixedModeMutator::VisitExpr(const Expr&)::<lambda(const Expr&)> >
at /home/gansichen/Workspace/projects/local/framework/tvm/include/tvm/relay/expr_functor.h:509
48: ExpandDataflow<tvm::relay::MixedModeMutator::VisitExpr(const Expr&)::<lambda(const Expr&)>, tvm::relay::MixedModeMutator::VisitExpr(const Expr&)::<lambda(const Expr&)>, tvm::relay::ExpandDataflow(tvm::relay::Expr, FCheckVisited, FVisitLeaf) [with FCheckVisited = tvm::relay::MixedModeMutator::VisitExpr(const Expr&)::<lambda(const Expr&)>; FVisitLeaf = tvm::relay::MixedModeMutator::VisitExpr(const Expr&)::<lambda(const Expr&)>]::<lambda(const Expr&)> >
at /home/gansichen/Workspace/projects/local/framework/tvm/include/tvm/relay/expr_functor.h:468
47: operator()
at /home/gansichen/Workspace/projects/local/framework/tvm/src/relay/ir/expr_functor.cc:98
46: tvm::relay::MixedModeMutator::VisitLeaf(tvm::RelayExpr const&)
at /home/gansichen/Workspace/projects/local/framework/tvm/src/relay/ir/expr_functor.cc:81
45: tvm::relay::MixedModeMutator::DispatchVisitExpr(tvm::RelayExpr const&)
at /home/gansichen/Workspace/projects/local/framework/tvm/src/relay/ir/expr_functor.cc:94
44: tvm::relay::ExprMutator::VisitExpr(tvm::RelayExpr const&)
at /home/gansichen/Workspace/projects/local/framework/tvm/src/relay/ir/expr_functor.cc:158
43: tvm::relay::ExprFunctor<tvm::RelayExpr (tvm::RelayExpr const&)>::VisitExpr(tvm::RelayExpr const&)
at /home/gansichen/Workspace/projects/local/framework/tvm/include/tvm/relay/expr_functor.h:95
42: tvm::relay::ExprFunctor<tvm::RelayExpr (tvm::RelayExpr const&)>::InitVTable()::{lambda(tvm::runtime::ObjectRef const&, tvm::relay::ExprFunctor<tvm::RelayExpr (tvm::RelayExpr const&)>)#6}::_FUN(tvm::runtime::ObjectRef const&, tvm::relay::ExprFunctor<tvm::RelayExpr (tvm::RelayExpr const&)>)
at /home/gansichen/Workspace/projects/local/framework/tvm/include/tvm/relay/expr_functor.h:128
41: tvm::relay::ExprFunctor<tvm::RelayExpr (tvm::RelayExpr const&)>::InitVTable()::{lambda(tvm::runtime::ObjectRef const&, tvm::relay::ExprFunctor<tvm::RelayExpr (tvm::RelayExpr const&)>)#6}::operator()(tvm::runtime::ObjectRef const&, tvm::relay::ExprFunctor<tvm::RelayExpr (tvm::RelayExpr const&)>) const
at /home/gansichen/Workspace/projects/local/framework/tvm/include/tvm/relay/expr_functor.h:128
40: tvm::relay::MixedModeMutator::VisitExpr
(tvm::relay::CallNode const*)
at /home/gansichen/Workspace/projects/local/framework/tvm/include/tvm/relay/expr_functor.h:291
39: tvm::RelayExpr tvm::relay::MixedModeMutator::Rewritetvm::relay::CallNode(tvm::relay::CallNode const*)
at /home/gansichen/Workspace/projects/local/framework/tvm/include/tvm/relay/expr_functor.h:313
38: tvm::relay::contrib::esp::GenerateConstantsMutator::Rewrite
(tvm::relay::CallNode const*, tvm::RelayExpr const&)
at /home/gansichen/Workspace/projects/local/framework/tvm/src/relay/backend/contrib/esp/generate_constants.cc:273
37: tvm::relay::MixedModeMutator::VisitExpr(tvm::RelayExpr const&)
at /home/gansichen/Workspace/projects/local/framework/tvm/src/relay/ir/expr_functor.cc:102
36: ExpandDataflow<tvm::relay::MixedModeMutator::VisitExpr(const Expr&)::<lambda(const Expr&)>, tvm::relay::MixedModeMutator::VisitExpr(const Expr&)::<lambda(const Expr&)> >
at /home/gansichen/Workspace/projects/local/framework/tvm/include/tvm/relay/expr_functor.h:509
35: ExpandDataflow<tvm::relay::MixedModeMutator::VisitExpr(const Expr&)::<lambda(const Expr&)>, tvm::relay::MixedModeMutator::VisitExpr(const Expr&)::<lambda(const Expr&)>, tvm::relay::ExpandDataflow(tvm::relay::Expr, FCheckVisited, FVisitLeaf) [with FCheckVisited = tvm::relay::MixedModeMutator::VisitExpr(const Expr&)::<lambda(const Expr&)>; FVisitLeaf = tvm::relay::MixedModeMutator::VisitExpr(const Expr&)::<lambda(const Expr&)>]::<lambda(const Expr&)> >
at /home/gansichen/Workspace/projects/local/framework/tvm/include/tvm/relay/expr_functor.h:468
34: operator()
at /home/gansichen/Workspace/projects/local/framework/tvm/src/relay/ir/expr_functor.cc:98
33: tvm::relay::MixedModeMutator::VisitLeaf(tvm::RelayExpr const&)
at /home/gansichen/Workspace/projects/local/framework/tvm/src/relay/ir/expr_functor.cc:81
32: tvm::relay::MixedModeMutator::DispatchVisitExpr(tvm::RelayExpr const&)
at /home/gansichen/Workspace/projects/local/framework/tvm/src/relay/ir/expr_functor.cc:94
31: tvm::relay::ExprMutator::VisitExpr(tvm::RelayExpr const&)
at /home/gansichen/Workspace/projects/local/framework/tvm/src/relay/ir/expr_functor.cc:158
30: tvm::relay::ExprFunctor<tvm::RelayExpr (tvm::RelayExpr const&)>::VisitExpr(tvm::RelayExpr const&)
at /home/gansichen/Workspace/projects/local/framework/tvm/include/tvm/relay/expr_functor.h:95
29: tvm::relay::ExprFunctor<tvm::RelayExpr (tvm::RelayExpr const&)>::InitVTable()::{lambda(tvm::runtime::ObjectRef const&, tvm::relay::ExprFunctor<tvm::RelayExpr (tvm::RelayExpr const&)>)#6}::_FUN(tvm::runtime::ObjectRef const&, tvm::relay::ExprFunctor<tvm::RelayExpr (tvm::RelayExpr const&)>)
at /home/gansichen/Workspace/projects/local/framework/tvm/include/tvm/relay/expr_functor.h:128
28: tvm::relay::ExprFunctor<tvm::RelayExpr (tvm::RelayExpr const&)>::InitVTable()::{lambda(tvm::runtime::ObjectRef const&, tvm::relay::ExprFunctor<tvm::RelayExpr (tvm::RelayExpr const&)>)#6}::operator()(tvm::runtime::ObjectRef const&, tvm::relay::ExprFunctor<tvm::RelayExpr (tvm::RelayExpr const&)>) const
at /home/gansichen/Workspace/projects/local/framework/tvm/include/tvm/relay/expr_functor.h:128
27: tvm::relay::MixedModeMutator::VisitExpr
(tvm::relay::CallNode const*)
at /home/gansichen/Workspace/projects/local/framework/tvm/include/tvm/relay/expr_functor.h:291
26: tvm::RelayExpr tvm::relay::MixedModeMutator::Rewritetvm::relay::CallNode(tvm::relay::CallNode const*)
at /home/gansichen/Workspace/projects/local/framework/tvm/include/tvm/relay/expr_functor.h:313
25: tvm::relay::contrib::esp::GenerateConstantsMutator::Rewrite
(tvm::relay::CallNode const*, tvm::RelayExpr const&)
at /home/gansichen/Workspace/projects/local/framework/tvm/src/relay/backend/contrib/esp/generate_constants.cc:290
24: tvm::relay::contrib::esp::GenerateConstantsMutator::GenerateConv2dExpConstants(tvm::RelayExpr const&)
at /home/gansichen/Workspace/projects/local/framework/tvm/src/relay/backend/contrib/esp/generate_constants.cc:214
23: tvm::relay::contrib::esp::GenerateConstantsMutator::ConvertConv2dLayout(tvm::RelayExpr, tvm::relay::Conv2DAttrs const*, tvm::Attrs*)
at /home/gansichen/Workspace/projects/local/framework/tvm/src/relay/backend/contrib/esp/generate_constants.cc:167
22: tvm::relay::transform::FoldConstantExpr(tvm::RelayExpr const&, bool)
at /home/gansichen/Workspace/projects/local/framework/tvm/src/relay/transforms/fold_constant.cc:430
21: tvm::relay::transform::FoldConstantExpr(tvm::RelayExpr const&, tvm::IRModule const&, bool)
at /home/gansichen/Workspace/projects/local/framework/tvm/src/relay/transforms/fold_constant.cc:423
20: tvm::relay::MixedModeMutator::VisitExpr(tvm::RelayExpr const&)
at /home/gansichen/Workspace/projects/local/framework/tvm/src/relay/ir/expr_functor.cc:102
19: ExpandDataflow<tvm::relay::MixedModeMutator::VisitExpr(const Expr&)::<lambda(const Expr&)>, tvm::relay::MixedModeMutator::VisitExpr(const Expr&)::<lambda(const Expr&)> >
at /home/gansichen/Workspace/projects/local/framework/tvm/include/tvm/relay/expr_functor.h:509
18: ExpandDataflow<tvm::relay::MixedModeMutator::VisitExpr(const Expr&)::<lambda(const Expr&)>, tvm::relay::MixedModeMutator::VisitExpr(const Expr&)::<lambda(const Expr&)>, tvm::relay::ExpandDataflow(tvm::relay::Expr, FCheckVisited, FVisitLeaf) [with FCheckVisited = tvm::relay::MixedModeMutator::VisitExpr(const Expr&)::<lambda(const Expr&)>; FVisitLeaf = tvm::relay::MixedModeMutator::VisitExpr(const Expr&)::<lambda(const Expr&)>]::<lambda(const Expr&)> >
at /home/gansichen/Workspace/projects/local/framework/tvm/include/tvm/relay/expr_functor.h:468
17: operator()
at /home/gansichen/Workspace/projects/local/framework/tvm/src/relay/ir/expr_functor.cc:98
16: tvm::relay::MixedModeMutator::VisitLeaf(tvm::RelayExpr const&)
at /home/gansichen/Workspace/projects/local/framework/tvm/src/relay/ir/expr_functor.cc:81
15: tvm::relay::MixedModeMutator::DispatchVisitExpr(tvm::RelayExpr const&)
at /home/gansichen/Workspace/projects/local/framework/tvm/src/relay/ir/expr_functor.cc:94
14: tvm::relay::ExprMutator::VisitExpr(tvm::RelayExpr const&)
at /home/gansichen/Workspace/projects/local/framework/tvm/src/relay/ir/expr_functor.cc:158
13: tvm::relay::ExprFunctor<tvm::RelayExpr (tvm::RelayExpr const&)>::VisitExpr(tvm::RelayExpr const&)
at /home/gansichen/Workspace/projects/local/framework/tvm/include/tvm/relay/expr_functor.h:95
12: tvm::relay::ExprFunctor<tvm::RelayExpr (tvm::RelayExpr const&)>::InitVTable()::{lambda(tvm::runtime::ObjectRef const&, tvm::relay::ExprFunctor<tvm::RelayExpr (tvm::RelayExpr const&)>)#6}::_FUN(tvm::runtime::ObjectRef const&, tvm::relay::ExprFunctor<tvm::RelayExpr (tvm::RelayExpr const&)>)
at /home/gansichen/Workspace/projects/local/framework/tvm/include/tvm/relay/expr_functor.h:128
11: tvm::relay::ExprFunctor<tvm::RelayExpr (tvm::RelayExpr const&)>::InitVTable()::{lambda(tvm::runtime::ObjectRef const&, tvm::relay::ExprFunctor<tvm::RelayExpr (tvm::RelayExpr const&)>)#6}::operator()(tvm::runtime::ObjectRef const&, tvm::relay::ExprFunctor<tvm::RelayExpr (tvm::RelayExpr const&)>) const
at /home/gansichen/Workspace/projects/local/framework/tvm/include/tvm/relay/expr_functor.h:128
10: tvm::relay::MixedModeMutator::VisitExpr
(tvm::relay::CallNode const*)
at /home/gansichen/Workspace/projects/local/framework/tvm/include/tvm/relay/expr_functor.h:291
9: tvm::RelayExpr tvm::relay::MixedModeMutator::Rewritetvm::relay::CallNode(tvm::relay::CallNode const*)
at /home/gansichen/Workspace/projects/local/framework/tvm/include/tvm/relay/expr_functor.h:313
8: Rewrite

at /home/gansichen/Workspace/projects/local/framework/tvm/src/relay/transforms/fold_constant.cc:202
7: ConstEvaluate
at /home/gansichen/Workspace/projects/local/framework/tvm/src/relay/transforms/fold_constant.cc:270
6: tvm::relay::Eval(tvm::RelayExpr, tvm::runtime::Map<tvm::GlobalTypeVar, tvm::TypeData, void, void>, std::unordered_set<tvm::runtime::String, std::hashtvm::runtime::String, std::equal_totvm::runtime::String, std::allocatortvm::runtime::String >, DLDevice, tvm::Target, tvm::runtime::Map<tvm::runtime::String, tvm::runtime::ObjectRef, void, void>)
at /home/gansichen/Workspace/projects/local/framework/tvm/src/relay/backend/interpreter.cc:1108
5: tvm::relay::Prepare(tvm::IRModule, tvm::CompilationConfig const&)
at /home/gansichen/Workspace/projects/local/framework/tvm/src/relay/backend/interpreter.cc:961
4: tvm::runtime::TVMRetValue tvm::runtime::PackedFunc::operator()<tvm::IRModule, tvm::transform::PassContext>(tvm::IRModule&&, tvm::transform::PassContext&&) const
3: operator()
at /home/gansichen/Workspace/projects/local/framework/tvm/src/relay/transforms/type_infer.cc:981
2: tvm::relay::TypeInferencer::Infer(tvm::GlobalVar, tvm::relay::Function)
at /home/gansichen/Workspace/projects/local/framework/tvm/src/relay/transforms/type_infer.cc:787
1: tvm::relay::TypeInferencer::Solve()
at /home/gansichen/Workspace/projects/local/framework/tvm/src/relay/transforms/type_infer.cc:623
0: tvm::relay::TypeSolver::Solve()
at /home/gansichen/Workspace/projects/local/framework/tvm/src/relay/analysis/type_solver.cc:643
86: 0xffffffffffffffff
85: _start
84: Py_BytesMain
83: Py_RunMain
82: PyRun_SimpleFileExFlags
81: 0x0000000000673b60
80: 0x0000000000673aba
79: 0x0000000000673a40
78: PyEval_EvalCode
77: _PyEval_EvalCodeWithName
76: _PyEval_EvalFrameDefault
75: _PyFunction_Vectorcall
74: _PyEval_EvalCodeWithName
73: _PyEval_EvalFrameDefault
72: _PyFunction_Vectorcall
71: _PyEval_EvalCodeWithName
70: _PyEval_EvalFrameDefault
69: _PyObject_MakeTpCall
68: 0x000000000057a42d
67: _PyFunction_Vectorcall
66: _PyEval_EvalFrameDefault
65: PyObject_MakeTpCall
64: 0x000000000057a42d
63: PyFunction_Vectorcall
62: PyEval_EvalCodeWithName
61: PyEval_EvalFrameDefault
60: PyObject_MakeTpCall
59: 0x00007f834ca199db
58: ctypes_callproc
57: 0x00007f83422be409
56: 0x00007f83422beff4
55: tvm::runtime::TVMRetValue tvm::runtime::PackedFunc::operator()<tvm::IRModule, tvm::transform::PassContext>(tvm::IRModule&&, tvm::transform::PassContext&&) const
54: operator()
at /home/gansichen/Workspace/projects/local/framework/tvm/src/relay/backend/contrib/esp/generate_constants.cc:325
53: tvm::relay::contrib::esp::GenerateConstants(tvm::IRModule const&)
at /home/gansichen/Workspace/projects/local/framework/tvm/src/relay/backend/contrib/esp/generate_constants.cc:312
52: tvm::relay::MixedModeMutator::VisitExpr(tvm::RelayExpr const&)
at /home/gansichen/Workspace/projects/local/framework/tvm/src/relay/ir/expr_functor.cc:102
51: ExpandDataflow<tvm::relay::MixedModeMutator::VisitExpr(const Expr&)::<lambda(const Expr&)>, tvm::relay::MixedModeMutator::VisitExpr(const Expr&)::<lambda(const Expr&)> >
at /home/gansichen/Workspace/projects/local/framework/tvm/include/tvm/relay/expr_functor.h:509
50: ExpandDataflow<tvm::relay::MixedModeMutator::VisitExpr(const Expr&)::<lambda(const Expr&)>, tvm::relay::MixedModeMutator::VisitExpr(const Expr&)::<lambda(const Expr&)>, tvm::relay::ExpandDataflow(tvm::relay::Expr, FCheckVisited, FVisitLeaf) [with FCheckVisited = tvm::relay::MixedModeMutator::VisitExpr(const Expr&)::<lambda(const Expr&)>; FVisitLeaf = tvm::relay::MixedModeMutator::VisitExpr(const Expr&)::<lambda(const Expr&)>]::<lambda(const Expr&)> >
at /home/gansichen/Workspace/projects/local/framework/tvm/include/tvm/relay/expr_functor.h:468
49: operator()
at /home/gansichen/Workspace/projects/local/framework/tvm/src/relay/ir/expr_functor.cc:98
48: tvm::relay::MixedModeMutator::VisitLeaf(tvm::RelayExpr const&)
at /home/gansichen/Workspace/projects/local/framework/tvm/src/relay/ir/expr_functor.cc:81
47: tvm::relay::MixedModeMutator::DispatchVisitExpr(tvm::RelayExpr const&)
at /home/gansichen/Workspace/projects/local/framework/tvm/src/relay/ir/expr_functor.cc:94
46: tvm::relay::ExprMutator::VisitExpr(tvm::RelayExpr const&)
at /home/gansichen/Workspace/projects/local/framework/tvm/src/relay/ir/expr_functor.cc:158
45: tvm::relay::ExprFunctor<tvm::RelayExpr (tvm::RelayExpr const&)>::VisitExpr(tvm::RelayExpr const&)
at /home/gansichen/Workspace/projects/local/framework/tvm/include/tvm/relay/expr_functor.h:95
44: tvm::relay::ExprFunctor<tvm::RelayExpr (tvm::RelayExpr const&)>::InitVTable()::{lambda(tvm::runtime::ObjectRef const&, tvm::relay::ExprFunctor<tvm::RelayExpr (tvm::RelayExpr const&)>)#6}::_FUN(tvm::runtime::ObjectRef const&, tvm::relay::ExprFunctor<tvm::RelayExpr (tvm::RelayExpr const&)>)
at /home/gansichen/Workspace/projects/local/framework/tvm/include/tvm/relay/expr_functor.h:128
43: tvm::relay::ExprFunctor<tvm::RelayExpr (tvm::RelayExpr const&)>::InitVTable()::{lambda(tvm::runtime::ObjectRef const&, tvm::relay::ExprFunctor<tvm::RelayExpr (tvm::RelayExpr const&)>)#6}::operator()(tvm::runtime::ObjectRef const&, tvm::relay::ExprFunctor<tvm::RelayExpr (tvm::RelayExpr const&)>) const
at /home/gansichen/Workspace/projects/local/framework/tvm/include/tvm/relay/expr_functor.h:128
42: tvm::relay::MixedModeMutator::VisitExpr
(tvm::relay::CallNode const*)
at /home/gansichen/Workspace/projects/local/framework/tvm/include/tvm/relay/expr_functor.h:291
41: tvm::RelayExpr tvm::relay::MixedModeMutator::Rewritetvm::relay::CallNode(tvm::relay::CallNode const*)
at /home/gansichen/Workspace/projects/local/framework/tvm/include/tvm/relay/expr_functor.h:313
40: tvm::relay::contrib::esp::GenerateConstantsMutator::Rewrite
(tvm::relay::CallNode const*, tvm::RelayExpr const&)
at /home/gansichen/Workspace/projects/local/framework/tvm/src/relay/backend/contrib/esp/generate_constants.cc:273
39: tvm::relay::MixedModeMutator::VisitExpr(tvm::RelayExpr const&)
at /home/gansichen/Workspace/projects/local/framework/tvm/src/relay/ir/expr_functor.cc:102
38: ExpandDataflow<tvm::relay::MixedModeMutator::VisitExpr(const Expr&)::<lambda(const Expr&)>, tvm::relay::MixedModeMutator::VisitExpr(const Expr&)::<lambda(const Expr&)> >
at /home/gansichen/Workspace/projects/local/framework/tvm/include/tvm/relay/expr_functor.h:509
37: ExpandDataflow<tvm::relay::MixedModeMutator::VisitExpr(const Expr&)::<lambda(const Expr&)>, tvm::relay::MixedModeMutator::VisitExpr(const Expr&)::<lambda(const Expr&)>, tvm::relay::ExpandDataflow(tvm::relay::Expr, FCheckVisited, FVisitLeaf) [with FCheckVisited = tvm::relay::MixedModeMutator::VisitExpr(const Expr&)::<lambda(const Expr&)>; FVisitLeaf = tvm::relay::MixedModeMutator::VisitExpr(const Expr&)::<lambda(const Expr&)>]::<lambda(const Expr&)> >
at /home/gansichen/Workspace/projects/local/framework/tvm/include/tvm/relay/expr_functor.h:468
36: operator()
at /home/gansichen/Workspace/projects/local/framework/tvm/src/relay/ir/expr_functor.cc:98
35: tvm::relay::MixedModeMutator::VisitLeaf(tvm::RelayExpr const&)
at /home/gansichen/Workspace/projects/local/framework/tvm/src/relay/ir/expr_functor.cc:81
34: tvm::relay::MixedModeMutator::DispatchVisitExpr(tvm::RelayExpr const&)
at /home/gansichen/Workspace/projects/local/framework/tvm/src/relay/ir/expr_functor.cc:94
33: tvm::relay::ExprMutator::VisitExpr(tvm::RelayExpr const&)
at /home/gansichen/Workspace/projects/local/framework/tvm/src/relay/ir/expr_functor.cc:158
32: tvm::relay::ExprFunctor<tvm::RelayExpr (tvm::RelayExpr const&)>::VisitExpr(tvm::RelayExpr const&)
at /home/gansichen/Workspace/projects/local/framework/tvm/include/tvm/relay/expr_functor.h:95
31: tvm::relay::ExprFunctor<tvm::RelayExpr (tvm::RelayExpr const&)>::InitVTable()::{lambda(tvm::runtime::ObjectRef const&, tvm::relay::ExprFunctor<tvm::RelayExpr (tvm::RelayExpr const&)>)#6}::_FUN(tvm::runtime::ObjectRef const&, tvm::relay::ExprFunctor<tvm::RelayExpr (tvm::RelayExpr const&)>)
at /home/gansichen/Workspace/projects/local/framework/tvm/include/tvm/relay/expr_functor.h:128
30: tvm::relay::ExprFunctor<tvm::RelayExpr (tvm::RelayExpr const&)>::InitVTable()::{lambda(tvm::runtime::ObjectRef const&, tvm::relay::ExprFunctor<tvm::RelayExpr (tvm::RelayExpr const&)>)#6}::operator()(tvm::runtime::ObjectRef const&, tvm::relay::ExprFunctor<tvm::RelayExpr (tvm::RelayExpr const&)>) const
at /home/gansichen/Workspace/projects/local/framework/tvm/include/tvm/relay/expr_functor.h:128
29: tvm::relay::MixedModeMutator::VisitExpr
(tvm::relay::CallNode const*)
at /home/gansichen/Workspace/projects/local/framework/tvm/include/tvm/relay/expr_functor.h:291
28: tvm::RelayExpr tvm::relay::MixedModeMutator::Rewritetvm::relay::CallNode(tvm::relay::CallNode const*)
at /home/gansichen/Workspace/projects/local/framework/tvm/include/tvm/relay/expr_functor.h:313
27: tvm::relay::contrib::esp::GenerateConstantsMutator::Rewrite
(tvm::relay::CallNode const*, tvm::RelayExpr const&)
at /home/gansichen/Workspace/projects/local/framework/tvm/src/relay/backend/contrib/esp/generate_constants.cc:290
26: tvm::relay::contrib::esp::GenerateConstantsMutator::GenerateConv2dExpConstants(tvm::RelayExpr const&)
at /home/gansichen/Workspace/projects/local/framework/tvm/src/relay/backend/contrib/esp/generate_constants.cc:214
25: tvm::relay::contrib::esp::GenerateConstantsMutator::ConvertConv2dLayout(tvm::RelayExpr, tvm::relay::Conv2DAttrs const*, tvm::Attrs*)
at /home/gansichen/Workspace/projects/local/framework/tvm/src/relay/backend/contrib/esp/generate_constants.cc:167
24: tvm::relay::transform::FoldConstantExpr(tvm::RelayExpr const&, bool)
at /home/gansichen/Workspace/projects/local/framework/tvm/src/relay/transforms/fold_constant.cc:430
23: tvm::relay::transform::FoldConstantExpr(tvm::RelayExpr const&, tvm::IRModule const&, bool)
at /home/gansichen/Workspace/projects/local/framework/tvm/src/relay/transforms/fold_constant.cc:423
22: tvm::relay::MixedModeMutator::VisitExpr(tvm::RelayExpr const&)
at /home/gansichen/Workspace/projects/local/framework/tvm/src/relay/ir/expr_functor.cc:102
21: ExpandDataflow<tvm::relay::MixedModeMutator::VisitExpr(const Expr&)::<lambda(const Expr&)>, tvm::relay::MixedModeMutator::VisitExpr(const Expr&)::<lambda(const Expr&)> >
at /home/gansichen/Workspace/projects/local/framework/tvm/include/tvm/relay/expr_functor.h:509
20: ExpandDataflow<tvm::relay::MixedModeMutator::VisitExpr(const Expr&)::<lambda(const Expr&)>, tvm::relay::MixedModeMutator::VisitExpr(const Expr&)::<lambda(const Expr&)>, tvm::relay::ExpandDataflow(tvm::relay::Expr, FCheckVisited, FVisitLeaf) [with FCheckVisited = tvm::relay::MixedModeMutator::VisitExpr(const Expr&)::<lambda(const Expr&)>; FVisitLeaf = tvm::relay::MixedModeMutator::VisitExpr(const Expr&)::<lambda(const Expr&)>]::<lambda(const Expr&)> >
at /home/gansichen/Workspace/projects/local/framework/tvm/include/tvm/relay/expr_functor.h:468
19: operator()
at /home/gansichen/Workspace/projects/local/framework/tvm/src/relay/ir/expr_functor.cc:98
18: tvm::relay::MixedModeMutator::VisitLeaf(tvm::RelayExpr const&)
at /home/gansichen/Workspace/projects/local/framework/tvm/src/relay/ir/expr_functor.cc:81
17: tvm::relay::MixedModeMutator::DispatchVisitExpr(tvm::RelayExpr const&)
at /home/gansichen/Workspace/projects/local/framework/tvm/src/relay/ir/expr_functor.cc:94
16: tvm::relay::ExprMutator::VisitExpr(tvm::RelayExpr const&)
at /home/gansichen/Workspace/projects/local/framework/tvm/src/relay/ir/expr_functor.cc:158
15: tvm::relay::ExprFunctor<tvm::RelayExpr (tvm::RelayExpr const&)>::VisitExpr(tvm::RelayExpr const&)
at /home/gansichen/Workspace/projects/local/framework/tvm/include/tvm/relay/expr_functor.h:95
14: tvm::relay::ExprFunctor<tvm::RelayExpr (tvm::RelayExpr const&)>::InitVTable()::{lambda(tvm::runtime::ObjectRef const&, tvm::relay::ExprFunctor<tvm::RelayExpr (tvm::RelayExpr const&)>)#6}::_FUN(tvm::runtime::ObjectRef const&, tvm::relay::ExprFunctor<tvm::RelayExpr (tvm::RelayExpr const&)>)
at /home/gansichen/Workspace/projects/local/framework/tvm/include/tvm/relay/expr_functor.h:128
13: tvm::relay::ExprFunctor<tvm::RelayExpr (tvm::RelayExpr const&)>::InitVTable()::{lambda(tvm::runtime::ObjectRef const&, tvm::relay::ExprFunctor<tvm::RelayExpr (tvm::RelayExpr const&)>)#6}::operator()(tvm::runtime::ObjectRef const&, tvm::relay::ExprFunctor<tvm::RelayExpr (tvm::RelayExpr const&)>) const
at /home/gansichen/Workspace/projects/local/framework/tvm/include/tvm/relay/expr_functor.h:128
12: tvm::relay::MixedModeMutator::VisitExpr
(tvm::relay::CallNode const*)
at /home/gansichen/Workspace/projects/local/framework/tvm/include/tvm/relay/expr_functor.h:291
11: tvm::RelayExpr tvm::relay::MixedModeMutator::Rewritetvm::relay::CallNode(tvm::relay::CallNode const*)
at /home/gansichen/Workspace/projects/local/framework/tvm/include/tvm/relay/expr_functor.h:313
10: Rewrite

at /home/gansichen/Workspace/projects/local/framework/tvm/src/relay/transforms/fold_constant.cc:202
9: ConstEvaluate
at /home/gansichen/Workspace/projects/local/framework/tvm/src/relay/transforms/fold_constant.cc:270
8: tvm::relay::Eval(tvm::RelayExpr, tvm::runtime::Map<tvm::GlobalTypeVar, tvm::TypeData, void, void>, std::unordered_set<tvm::runtime::String, std::hashtvm::runtime::String, std::equal_totvm::runtime::String, std::allocatortvm::runtime::String >, DLDevice, tvm::Target, tvm::runtime::Map<tvm::runtime::String, tvm::runtime::ObjectRef, void, void>)
at /home/gansichen/Workspace/projects/local/framework/tvm/src/relay/backend/interpreter.cc:1108
7: tvm::relay::Prepare(tvm::IRModule, tvm::CompilationConfig const&)
at /home/gansichen/Workspace/projects/local/framework/tvm/src/relay/backend/interpreter.cc:961
6: tvm::runtime::TVMRetValue tvm::runtime::PackedFunc::operator()<tvm::IRModule, tvm::transform::PassContext>(tvm::IRModule&&, tvm::transform::PassContext&&) const
5: operator()
at /home/gansichen/Workspace/projects/local/framework/tvm/src/relay/transforms/type_infer.cc:981
4: tvm::relay::TypeInferencer::Infer(tvm::GlobalVar, tvm::relay::Function)
at /home/gansichen/Workspace/projects/local/framework/tvm/src/relay/transforms/type_infer.cc:787
3: tvm::relay::TypeInferencer::Solve()
at /home/gansichen/Workspace/projects/local/framework/tvm/src/relay/transforms/type_infer.cc:623
2: tvm::relay::TypeSolver::Solve()
at /home/gansichen/Workspace/projects/local/framework/tvm/src/relay/analysis/type_solver.cc:632
1: tvm::TypedEnvFunc<bool (tvm::runtime::Array<tvm::Type, void> const&, int, tvm::Attrs const&, tvm::TypeReporter const&)>::operator()(tvm::runtime::Array<tvm::Type, void> const&, int, tvm::Attrs const&, tvm::TypeReporter const&) const
at /home/gansichen/Workspace/projects/local/framework/tvm/include/tvm/ir/env_func.h:142
0: tvm::relay::SplitRel(tvm::runtime::Array<tvm::Type, void> const&, int, tvm::Attrs const&, tvm::TypeReporter const&)
at /home/gansichen/Workspace/projects/local/framework/tvm/src/relay/op/tensor/transform.cc:3070
File "/home/gansichen/Workspace/projects/local/framework/tvm/src/relay/analysis/type_solver.cc", line 643
InternalError: Check failed: (false) is false: [13:09:31] /home/gansichen/Workspace/projects/local/framework/tvm/src/relay/op/tensor/transform.cc:3070: InternalError: Check failed: (reporter->Assert(indices[i] > begin)) is false: indices_or_sections need to be a sorted ascending list
`

Thank you for any response.

@github-actions github-actions bot changed the title ESP32 Model Deployment Project using TVM ESP32 Model Deployment Project using TVM (AIV-682) Mar 11, 2024
@AllenMao
Copy link

you can try non quantitative models,example:python ../../tools/tvm/export_onnx_model.py --model_path ${onnx_model}_opt.onnx --img_path ${input_file}.npy --target_chip esp32s3 --out_path "." --template_path "../../tools/tvm/template_project_for_model/"

@YigitKaanBingol
Copy link
Author

Ok, i'll try and share the results asap!
thank you.

@AllenMao
Copy link

Ok, i'll try and share the results asap! thank you.

upgrade onnx==1.13.0, It works!!!

@YigitKaanBingol
Copy link
Author

hare the results asap! thank you.

upgrade onnx==1.13.0, It works!!!

Non quantized solution works.
Thanks

@YigitKaanBingol
Copy link
Author

Ok, i'll try and share the results asap! thank you.

upgrade onnx==1.13.0, It works!!!

Upgradng onnx is also works, thanks a lot.

@Cilouche
Copy link

Cilouche commented Mar 21, 2024

Hi,

I have the same problem, i was try to updrade onnx==1.13.0 but show me same problem
and when i use a Non quantized model another problem appear
nst, tvm::Range> > > const&, unsigned long, bool, std::unordered_set<tvm::tir::IterVar, std::hash<tvm::tir::IterVar>, std::equal_to<tvm::tir::IterVar>, std::allocator<tvm::tir::IterVar> > const&, std::unordered_map<tvm::tir::IterVar, tvm::PrimExpr, std::hash<tvm::tir::IterVar>, std::equal_to<tvm::tir::IterVar>, std::allocator<std::pair<tvm::tir::IterVar const, tvm::PrimExpr> > >*, bool) at /home/gansichen/Workspace/projects/local/framework/tvm/src/te/operation/op_utils.cc:206 3: tvm::te::PassUpIndex(tvm::te::Stage const&, tvm::runtime::Map<tvm::tir::IterVar, tvm::Range, void, void> const&, std::unordered_map<tvm::tir::IterVar, tvm::PrimExpr, std::hash<tvm::tir::IterVar>, std::equal_to<tvm::tir::IterVar>, std::allocator<std::pair<tvm::tir::IterVar const, tvm::PrimExpr> > >*, bool) at /home/gansichen/Workspace/projects/local/framework/tvm/src/te/schedule/message_passing.cc:244 2: tvm::indexdiv(tvm::PrimExpr, tvm::PrimExpr, tvm::Span) at /home/gansichen/Workspace/projects/local/framework/tvm/src/tir/op/op.cc:399 1: tvm::floordiv(tvm::PrimExpr, tvm::PrimExpr, tvm::Span) at /home/gansichen/Workspace/projects/local/framework/tvm/src/tir/op/op.cc:409 0: tvm::runtime::Optional<tvm::PrimExpr> tvm::arith::TryConstFold<tvm::tir::FloorDiv>(tvm::PrimExpr, tvm::PrimExpr) at /home/gansichen/Workspace/projects/local/framework/tvm/src/tir/transforms/../../arith/const_fold.h:273 File "/home/gansichen/Workspace/projects/local/framework/tvm/src/arith/const_fold.h", line 302 InternalError: Check failed: pb->value != 0 (0 vs. 0) : Divide by zero

I use yolov5s model
Any suggestion please
thanks

@Cilouche
Copy link

Hello guys, I am trying to deploy my custom Yolov5 model to Esp32s3, but i am facing that issue while i try to "export_onnx_model.py", I am getting this error.

`

Model Information:
Input Name: images Input Shape: (1, 3, 192, 192) Input DType: float Output Name: output0 Output Shape: (1, 2268, 6) Output DType: float [13:06:06] /home/gansichen/Workspace/projects/local/framework/tvm/src/relay/transforms/convert_layout.cc:99: Warning: Desired layout(s) not specified for op: nn.max_pool2d [13:06:06] /home/gansichen/Workspace/projects/local/framework/tvm/src/relay/transforms/convert_layout.cc:99: Warning: Desired layout(s) not specified for op: nn.max_pool2d [13:06:06] /home/gansichen/Workspace/projects/local/framework/tvm/src/relay/transforms/convert_layout.cc:99: Warning: Desired layout(s) not specified for op: nn.max_pool2d [13:06:06] /home/gansichen/Workspace/projects/local/framework/tvm/src/relay/transforms/convert_layout.cc:99: Warning: Desired layout(s) not specified for op: image.resize2d [13:06:06] /home/gansichen/Workspace/projects/local/framework/tvm/src/relay/transforms/convert_layout.cc:99: Warning: Desired layout(s) not specified for op: image.resize2d Traceback (most recent call last): File "../../tools/tvm/export_onnx_model.py", line 237, in dump_tvm_onnx_project(target_chip=args.target_chip, model_path=args.model_path, img_path=args.img_path, template_path=args.template_path, generated_project_path=args.out_path) File "../../tools/tvm/export_onnx_model.py", line 167, in dump_tvm_onnx_project mod = preprocess_onnx_for_esp(mod, params) File "/home/train/esp-dl/tools/tvm/python/tvm/relay/op/contrib/esp.py", line 61, in preprocess_onnx_for_esp return seq(mod) File "/home/train/esp-dl/tools/tvm/python/tvm/ir/transform.py", line 160, in call return _ffi_transform_api.RunPass(self, mod) File "/home/train/esp-dl/tools/tvm/python/tvm/_ffi/_ctypes/packed_func.py", line 238, in call raise get_last_ffi_error() tvm.error.InternalError: Traceback (most recent call last): 84: 0xffffffffffffffff 83: _start 82: Py_BytesMain 81: Py_RunMain 80: PyRun_SimpleFileExFlags 79: 0x0000000000673b60 78: 0x0000000000673aba 77: 0x0000000000673a40 76: PyEval_EvalCode 75: _PyEval_EvalCodeWithName 74: _PyEval_EvalFrameDefault 73: PyFunction_Vectorcall 72: PyEval_EvalCodeWithName 71: PyEval_EvalFrameDefault 70: PyFunction_Vectorcall 69: PyEval_EvalCodeWithName 68: PyEval_EvalFrameDefault 67: PyObject_MakeTpCall 66: 0x000000000057a42d 65: PyFunction_Vectorcall 64: PyEval_EvalFrameDefault 63: PyObject_MakeTpCall 62: 0x000000000057a42d 61: PyFunction_Vectorcall 60: PyEval_EvalCodeWithName 59: PyEval_EvalFrameDefault 58: PyObject_MakeTpCall 57: 0x00007f834ca199db 56: ctypes_callproc 55: 0x00007f83422be409 54: 0x00007f83422beff4 53: tvm::runtime::TVMRetValue tvm::runtime::PackedFunc::operator()<tvm::IRModule, tvm::transform::PassContext>(tvm::IRModule&&, tvm::transform::PassContext&&) const 52: operator() at /home/gansichen/Workspace/projects/local/framework/tvm/src/relay/backend/contrib/esp/generate_constants.cc:325 51: tvm::relay::contrib::esp::GenerateConstants(tvm::IRModule const&) at /home/gansichen/Workspace/projects/local/framework/tvm/src/relay/backend/contrib/esp/generate_constants.cc:312 50: tvm::relay::MixedModeMutator::VisitExpr(tvm::RelayExpr const&) at /home/gansichen/Workspace/projects/local/framework/tvm/src/relay/ir/expr_functor.cc:102 49: ExpandDataflow<tvm::relay::MixedModeMutator::VisitExpr(const Expr&)::<lambda(const Expr&)>, tvm::relay::MixedModeMutator::VisitExpr(const Expr&)::<lambda(const Expr&)> > at /home/gansichen/Workspace/projects/local/framework/tvm/include/tvm/relay/expr_functor.h:509 48: ExpandDataflow<tvm::relay::MixedModeMutator::VisitExpr(const Expr&)::<lambda(const Expr&)>, tvm::relay::MixedModeMutator::VisitExpr(const Expr&)::<lambda(const Expr&)>, tvm::relay::ExpandDataflow(tvm::relay::Expr, FCheckVisited, FVisitLeaf) [with FCheckVisited = tvm::relay::MixedModeMutator::VisitExpr(const Expr&)::<lambda(const Expr&)>; FVisitLeaf = tvm::relay::MixedModeMutator::VisitExpr(const Expr&)::<lambda(const Expr&)>]::<lambda(const Expr&)> > at /home/gansichen/Workspace/projects/local/framework/tvm/include/tvm/relay/expr_functor.h:468 47: operator() at /home/gansichen/Workspace/projects/local/framework/tvm/src/relay/ir/expr_functor.cc:98 46: tvm::relay::MixedModeMutator::VisitLeaf(tvm::RelayExpr const&) at /home/gansichen/Workspace/projects/local/framework/tvm/src/relay/ir/expr_functor.cc:81 45: tvm::relay::MixedModeMutator::DispatchVisitExpr(tvm::RelayExpr const&) at /home/gansichen/Workspace/projects/local/framework/tvm/src/relay/ir/expr_functor.cc:94 44: tvm::relay::ExprMutator::VisitExpr(tvm::RelayExpr const&) at /home/gansichen/Workspace/projects/local/framework/tvm/src/relay/ir/expr_functor.cc:158 43: tvm::relay::ExprFunctor<tvm::RelayExpr (tvm::RelayExpr const&)>::VisitExpr(tvm::RelayExpr const&) at /home/gansichen/Workspace/projects/local/framework/tvm/include/tvm/relay/expr_functor.h:95 42: tvm::relay::ExprFunctor<tvm::RelayExpr (tvm::RelayExpr const&)>::InitVTable()::{lambda(tvm::runtime::ObjectRef const&, tvm::relay::ExprFunctor<tvm::RelayExpr (tvm::RelayExpr const&)>)#6}::FUN(tvm::runtime::ObjectRef const&, tvm::relay::ExprFunctor<tvm::RelayExpr (tvm::RelayExpr const&)>) at /home/gansichen/Workspace/projects/local/framework/tvm/include/tvm/relay/expr_functor.h:128 41: tvm::relay::ExprFunctor<tvm::RelayExpr (tvm::RelayExpr const&)>::InitVTable()::{lambda(tvm::runtime::ObjectRef const&, tvm::relay::ExprFunctor<tvm::RelayExpr (tvm::RelayExpr const&)>)#6}::operator()(tvm::runtime::ObjectRef const&, tvm::relay::ExprFunctor<tvm::RelayExpr (tvm::RelayExpr const&)>) const at /home/gansichen/Workspace/projects/local/framework/tvm/include/tvm/relay/expr_functor.h:128 40: tvm::relay::MixedModeMutator::VisitExpr(tvm::relay::CallNode const*) at /home/gansichen/Workspace/projects/local/framework/tvm/include/tvm/relay/expr_functor.h:291 39: tvm::RelayExpr tvm::relay::MixedModeMutator::Rewritetvm::relay::CallNode(tvm::relay::CallNode const*) at /home/gansichen/Workspace/projects/local/framework/tvm/include/tvm/relay/expr_functor.h:313 38: tvm::relay::contrib::esp::GenerateConstantsMutator::Rewrite(tvm::relay::CallNode const*, tvm::RelayExpr const&) at /home/gansichen/Workspace/projects/local/framework/tvm/src/relay/backend/contrib/esp/generate_constants.cc:273 37: tvm::relay::MixedModeMutator::VisitExpr(tvm::RelayExpr const&) at /home/gansichen/Workspace/projects/local/framework/tvm/src/relay/ir/expr_functor.cc:102 36: ExpandDataflow<tvm::relay::MixedModeMutator::VisitExpr(const Expr&)::<lambda(const Expr&)>, tvm::relay::MixedModeMutator::VisitExpr(const Expr&)::<lambda(const Expr&)> > at /home/gansichen/Workspace/projects/local/framework/tvm/include/tvm/relay/expr_functor.h:509 35: ExpandDataflow<tvm::relay::MixedModeMutator::VisitExpr(const Expr&)::<lambda(const Expr&)>, tvm::relay::MixedModeMutator::VisitExpr(const Expr&)::<lambda(const Expr&)>, tvm::relay::ExpandDataflow(tvm::relay::Expr, FCheckVisited, FVisitLeaf) [with FCheckVisited = tvm::relay::MixedModeMutator::VisitExpr(const Expr&)::<lambda(const Expr&)>; FVisitLeaf = tvm::relay::MixedModeMutator::VisitExpr(const Expr&)::<lambda(const Expr&)>]::<lambda(const Expr&)> > at /home/gansichen/Workspace/projects/local/framework/tvm/include/tvm/relay/expr_functor.h:468 34: operator() at /home/gansichen/Workspace/projects/local/framework/tvm/src/relay/ir/expr_functor.cc:98 33: tvm::relay::MixedModeMutator::VisitLeaf(tvm::RelayExpr const&) at /home/gansichen/Workspace/projects/local/framework/tvm/src/relay/ir/expr_functor.cc:81 32: tvm::relay::MixedModeMutator::DispatchVisitExpr(tvm::RelayExpr const&) at /home/gansichen/Workspace/projects/local/framework/tvm/src/relay/ir/expr_functor.cc:94 31: tvm::relay::ExprMutator::VisitExpr(tvm::RelayExpr const&) at /home/gansichen/Workspace/projects/local/framework/tvm/src/relay/ir/expr_functor.cc:158 30: tvm::relay::ExprFunctor<tvm::RelayExpr (tvm::RelayExpr const&)>::VisitExpr(tvm::RelayExpr const&) at /home/gansichen/Workspace/projects/local/framework/tvm/include/tvm/relay/expr_functor.h:95 29: tvm::relay::ExprFunctor<tvm::RelayExpr (tvm::RelayExpr const&)>::InitVTable()::{lambda(tvm::runtime::ObjectRef const&, tvm::relay::ExprFunctor<tvm::RelayExpr (tvm::RelayExpr const&)>)#6}::FUN(tvm::runtime::ObjectRef const&, tvm::relay::ExprFunctor<tvm::RelayExpr (tvm::RelayExpr const&)>) at /home/gansichen/Workspace/projects/local/framework/tvm/include/tvm/relay/expr_functor.h:128 28: tvm::relay::ExprFunctor<tvm::RelayExpr (tvm::RelayExpr const&)>::InitVTable()::{lambda(tvm::runtime::ObjectRef const&, tvm::relay::ExprFunctor<tvm::RelayExpr (tvm::RelayExpr const&)>)#6}::operator()(tvm::runtime::ObjectRef const&, tvm::relay::ExprFunctor<tvm::RelayExpr (tvm::RelayExpr const&)>) const at /home/gansichen/Workspace/projects/local/framework/tvm/include/tvm/relay/expr_functor.h:128 27: tvm::relay::MixedModeMutator::VisitExpr(tvm::relay::CallNode const*) at /home/gansichen/Workspace/projects/local/framework/tvm/include/tvm/relay/expr_functor.h:291 26: tvm::RelayExpr tvm::relay::MixedModeMutator::Rewritetvm::relay::CallNode(tvm::relay::CallNode const*) at /home/gansichen/Workspace/projects/local/framework/tvm/include/tvm/relay/expr_functor.h:313 25: tvm::relay::contrib::esp::GenerateConstantsMutator::Rewrite(tvm::relay::CallNode const*, tvm::RelayExpr const&) at /home/gansichen/Workspace/projects/local/framework/tvm/src/relay/backend/contrib/esp/generate_constants.cc:290 24: tvm::relay::contrib::esp::GenerateConstantsMutator::GenerateConv2dExpConstants(tvm::RelayExpr const&) at /home/gansichen/Workspace/projects/local/framework/tvm/src/relay/backend/contrib/esp/generate_constants.cc:214 23: tvm::relay::contrib::esp::GenerateConstantsMutator::ConvertConv2dLayout(tvm::RelayExpr, tvm::relay::Conv2DAttrs const*, tvm::Attrs*) at /home/gansichen/Workspace/projects/local/framework/tvm/src/relay/backend/contrib/esp/generate_constants.cc:167 22: tvm::relay::transform::FoldConstantExpr(tvm::RelayExpr const&, bool) at /home/gansichen/Workspace/projects/local/framework/tvm/src/relay/transforms/fold_constant.cc:430 21: tvm::relay::transform::FoldConstantExpr(tvm::RelayExpr const&, tvm::IRModule const&, bool) at /home/gansichen/Workspace/projects/local/framework/tvm/src/relay/transforms/fold_constant.cc:423 20: tvm::relay::MixedModeMutator::VisitExpr(tvm::RelayExpr const&) at /home/gansichen/Workspace/projects/local/framework/tvm/src/relay/ir/expr_functor.cc:102 19: ExpandDataflow<tvm::relay::MixedModeMutator::VisitExpr(const Expr&)::<lambda(const Expr&)>, tvm::relay::MixedModeMutator::VisitExpr(const Expr&)::<lambda(const Expr&)> > at /home/gansichen/Workspace/projects/local/framework/tvm/include/tvm/relay/expr_functor.h:509 18: ExpandDataflow<tvm::relay::MixedModeMutator::VisitExpr(const Expr&)::<lambda(const Expr&)>, tvm::relay::MixedModeMutator::VisitExpr(const Expr&)::<lambda(const Expr&)>, tvm::relay::ExpandDataflow(tvm::relay::Expr, FCheckVisited, FVisitLeaf) [with FCheckVisited = tvm::relay::MixedModeMutator::VisitExpr(const Expr&)::<lambda(const Expr&)>; FVisitLeaf = tvm::relay::MixedModeMutator::VisitExpr(const Expr&)::<lambda(const Expr&)>]::<lambda(const Expr&)> > at /home/gansichen/Workspace/projects/local/framework/tvm/include/tvm/relay/expr_functor.h:468 17: operator() at /home/gansichen/Workspace/projects/local/framework/tvm/src/relay/ir/expr_functor.cc:98 16: tvm::relay::MixedModeMutator::VisitLeaf(tvm::RelayExpr const&) at /home/gansichen/Workspace/projects/local/framework/tvm/src/relay/ir/expr_functor.cc:81 15: tvm::relay::MixedModeMutator::DispatchVisitExpr(tvm::RelayExpr const&) at /home/gansichen/Workspace/projects/local/framework/tvm/src/relay/ir/expr_functor.cc:94 14: tvm::relay::ExprMutator::VisitExpr(tvm::RelayExpr const&) at /home/gansichen/Workspace/projects/local/framework/tvm/src/relay/ir/expr_functor.cc:158 13: tvm::relay::ExprFunctor<tvm::RelayExpr (tvm::RelayExpr const&)>::VisitExpr(tvm::RelayExpr const&) at /home/gansichen/Workspace/projects/local/framework/tvm/include/tvm/relay/expr_functor.h:95 12: tvm::relay::ExprFunctor<tvm::RelayExpr (tvm::RelayExpr const&)>::InitVTable()::{lambda(tvm::runtime::ObjectRef const&, tvm::relay::ExprFunctor<tvm::RelayExpr (tvm::RelayExpr const&)>)#6}::FUN(tvm::runtime::ObjectRef const&, tvm::relay::ExprFunctor<tvm::RelayExpr (tvm::RelayExpr const&)>) at /home/gansichen/Workspace/projects/local/framework/tvm/include/tvm/relay/expr_functor.h:128 11: tvm::relay::ExprFunctor<tvm::RelayExpr (tvm::RelayExpr const&)>::InitVTable()::{lambda(tvm::runtime::ObjectRef const&, tvm::relay::ExprFunctor<tvm::RelayExpr (tvm::RelayExpr const&)>)#6}::operator()(tvm::runtime::ObjectRef const&, tvm::relay::ExprFunctor<tvm::RelayExpr (tvm::RelayExpr const&)>) const at /home/gansichen/Workspace/projects/local/framework/tvm/include/tvm/relay/expr_functor.h:128 10: tvm::relay::MixedModeMutator::VisitExpr(tvm::relay::CallNode const*) at /home/gansichen/Workspace/projects/local/framework/tvm/include/tvm/relay/expr_functor.h:291 9: tvm::RelayExpr tvm::relay::MixedModeMutator::Rewritetvm::relay::CallNode(tvm::relay::CallNode const*) at /home/gansichen/Workspace/projects/local/framework/tvm/include/tvm/relay/expr_functor.h:313 8: Rewrite at /home/gansichen/Workspace/projects/local/framework/tvm/src/relay/transforms/fold_constant.cc:202 7: ConstEvaluate at /home/gansichen/Workspace/projects/local/framework/tvm/src/relay/transforms/fold_constant.cc:270 6: tvm::relay::Eval(tvm::RelayExpr, tvm::runtime::Map<tvm::GlobalTypeVar, tvm::TypeData, void, void>, std::unordered_set<tvm::runtime::String, std::hashtvm::runtime::String, std::equal_totvm::runtime::String, std::allocatortvm::runtime::String >, DLDevice, tvm::Target, tvm::runtime::Map<tvm::runtime::String, tvm::runtime::ObjectRef, void, void>) at /home/gansichen/Workspace/projects/local/framework/tvm/src/relay/backend/interpreter.cc:1108 5: tvm::relay::Prepare(tvm::IRModule, tvm::CompilationConfig const&) at /home/gansichen/Workspace/projects/local/framework/tvm/src/relay/backend/interpreter.cc:961 4: tvm::runtime::TVMRetValue tvm::runtime::PackedFunc::operator()<tvm::IRModule, tvm::transform::PassContext>(tvm::IRModule&&, tvm::transform::PassContext&&) const 3: operator() at /home/gansichen/Workspace/projects/local/framework/tvm/src/relay/transforms/type_infer.cc:981 2: tvm::relay::TypeInferencer::Infer(tvm::GlobalVar, tvm::relay::Function) at /home/gansichen/Workspace/projects/local/framework/tvm/src/relay/transforms/type_infer.cc:787 1: tvm::relay::TypeInferencer::Solve() at /home/gansichen/Workspace/projects/local/framework/tvm/src/relay/transforms/type_infer.cc:623 0: tvm::relay::TypeSolver::Solve() at /home/gansichen/Workspace/projects/local/framework/tvm/src/relay/analysis/type_solver.cc:643 86: 0xffffffffffffffff 85: _start 84: Py_BytesMain 83: Py_RunMain 82: PyRun_SimpleFileExFlags 81: 0x0000000000673b60 80: 0x0000000000673aba 79: 0x0000000000673a40 78: PyEval_EvalCode 77: _PyEval_EvalCodeWithName 76: _PyEval_EvalFrameDefault 75: PyFunction_Vectorcall 74: PyEval_EvalCodeWithName 73: PyEval_EvalFrameDefault 72: PyFunction_Vectorcall 71: PyEval_EvalCodeWithName 70: PyEval_EvalFrameDefault 69: PyObject_MakeTpCall 68: 0x000000000057a42d 67: PyFunction_Vectorcall 66: PyEval_EvalFrameDefault 65: PyObject_MakeTpCall 64: 0x000000000057a42d 63: PyFunction_Vectorcall 62: PyEval_EvalCodeWithName 61: PyEval_EvalFrameDefault 60: PyObject_MakeTpCall 59: 0x00007f834ca199db 58: ctypes_callproc 57: 0x00007f83422be409 56: 0x00007f83422beff4 55: tvm::runtime::TVMRetValue tvm::runtime::PackedFunc::operator()<tvm::IRModule, tvm::transform::PassContext>(tvm::IRModule&&, tvm::transform::PassContext&&) const 54: operator() at /home/gansichen/Workspace/projects/local/framework/tvm/src/relay/backend/contrib/esp/generate_constants.cc:325 53: tvm::relay::contrib::esp::GenerateConstants(tvm::IRModule const&) at /home/gansichen/Workspace/projects/local/framework/tvm/src/relay/backend/contrib/esp/generate_constants.cc:312 52: tvm::relay::MixedModeMutator::VisitExpr(tvm::RelayExpr const&) at /home/gansichen/Workspace/projects/local/framework/tvm/src/relay/ir/expr_functor.cc:102 51: ExpandDataflow<tvm::relay::MixedModeMutator::VisitExpr(const Expr&)::<lambda(const Expr&)>, tvm::relay::MixedModeMutator::VisitExpr(const Expr&)::<lambda(const Expr&)> > at /home/gansichen/Workspace/projects/local/framework/tvm/include/tvm/relay/expr_functor.h:509 50: ExpandDataflow<tvm::relay::MixedModeMutator::VisitExpr(const Expr&)::<lambda(const Expr&)>, tvm::relay::MixedModeMutator::VisitExpr(const Expr&)::<lambda(const Expr&)>, tvm::relay::ExpandDataflow(tvm::relay::Expr, FCheckVisited, FVisitLeaf) [with FCheckVisited = tvm::relay::MixedModeMutator::VisitExpr(const Expr&)::<lambda(const Expr&)>; FVisitLeaf = tvm::relay::MixedModeMutator::VisitExpr(const Expr&)::<lambda(const Expr&)>]::<lambda(const Expr&)> > at /home/gansichen/Workspace/projects/local/framework/tvm/include/tvm/relay/expr_functor.h:468 49: operator() at /home/gansichen/Workspace/projects/local/framework/tvm/src/relay/ir/expr_functor.cc:98 48: tvm::relay::MixedModeMutator::VisitLeaf(tvm::RelayExpr const&) at /home/gansichen/Workspace/projects/local/framework/tvm/src/relay/ir/expr_functor.cc:81 47: tvm::relay::MixedModeMutator::DispatchVisitExpr(tvm::RelayExpr const&) at /home/gansichen/Workspace/projects/local/framework/tvm/src/relay/ir/expr_functor.cc:94 46: tvm::relay::ExprMutator::VisitExpr(tvm::RelayExpr const&) at /home/gansichen/Workspace/projects/local/framework/tvm/src/relay/ir/expr_functor.cc:158 45: tvm::relay::ExprFunctor<tvm::RelayExpr (tvm::RelayExpr const&)>::VisitExpr(tvm::RelayExpr const&) at /home/gansichen/Workspace/projects/local/framework/tvm/include/tvm/relay/expr_functor.h:95 44: tvm::relay::ExprFunctor<tvm::RelayExpr (tvm::RelayExpr const&)>::InitVTable()::{lambda(tvm::runtime::ObjectRef const&, tvm::relay::ExprFunctor<tvm::RelayExpr (tvm::RelayExpr const&)>)#6}::FUN(tvm::runtime::ObjectRef const&, tvm::relay::ExprFunctor<tvm::RelayExpr (tvm::RelayExpr const&)>) at /home/gansichen/Workspace/projects/local/framework/tvm/include/tvm/relay/expr_functor.h:128 43: tvm::relay::ExprFunctor<tvm::RelayExpr (tvm::RelayExpr const&)>::InitVTable()::{lambda(tvm::runtime::ObjectRef const&, tvm::relay::ExprFunctor<tvm::RelayExpr (tvm::RelayExpr const&)>)#6}::operator()(tvm::runtime::ObjectRef const&, tvm::relay::ExprFunctor<tvm::RelayExpr (tvm::RelayExpr const&)>) const at /home/gansichen/Workspace/projects/local/framework/tvm/include/tvm/relay/expr_functor.h:128 42: tvm::relay::MixedModeMutator::VisitExpr(tvm::relay::CallNode const*) at /home/gansichen/Workspace/projects/local/framework/tvm/include/tvm/relay/expr_functor.h:291 41: tvm::RelayExpr tvm::relay::MixedModeMutator::Rewritetvm::relay::CallNode(tvm::relay::CallNode const*) at /home/gansichen/Workspace/projects/local/framework/tvm/include/tvm/relay/expr_functor.h:313 40: tvm::relay::contrib::esp::GenerateConstantsMutator::Rewrite(tvm::relay::CallNode const*, tvm::RelayExpr const&) at /home/gansichen/Workspace/projects/local/framework/tvm/src/relay/backend/contrib/esp/generate_constants.cc:273 39: tvm::relay::MixedModeMutator::VisitExpr(tvm::RelayExpr const&) at /home/gansichen/Workspace/projects/local/framework/tvm/src/relay/ir/expr_functor.cc:102 38: ExpandDataflow<tvm::relay::MixedModeMutator::VisitExpr(const Expr&)::<lambda(const Expr&)>, tvm::relay::MixedModeMutator::VisitExpr(const Expr&)::<lambda(const Expr&)> > at /home/gansichen/Workspace/projects/local/framework/tvm/include/tvm/relay/expr_functor.h:509 37: ExpandDataflow<tvm::relay::MixedModeMutator::VisitExpr(const Expr&)::<lambda(const Expr&)>, tvm::relay::MixedModeMutator::VisitExpr(const Expr&)::<lambda(const Expr&)>, tvm::relay::ExpandDataflow(tvm::relay::Expr, FCheckVisited, FVisitLeaf) [with FCheckVisited = tvm::relay::MixedModeMutator::VisitExpr(const Expr&)::<lambda(const Expr&)>; FVisitLeaf = tvm::relay::MixedModeMutator::VisitExpr(const Expr&)::<lambda(const Expr&)>]::<lambda(const Expr&)> > at /home/gansichen/Workspace/projects/local/framework/tvm/include/tvm/relay/expr_functor.h:468 36: operator() at /home/gansichen/Workspace/projects/local/framework/tvm/src/relay/ir/expr_functor.cc:98 35: tvm::relay::MixedModeMutator::VisitLeaf(tvm::RelayExpr const&) at /home/gansichen/Workspace/projects/local/framework/tvm/src/relay/ir/expr_functor.cc:81 34: tvm::relay::MixedModeMutator::DispatchVisitExpr(tvm::RelayExpr const&) at /home/gansichen/Workspace/projects/local/framework/tvm/src/relay/ir/expr_functor.cc:94 33: tvm::relay::ExprMutator::VisitExpr(tvm::RelayExpr const&) at /home/gansichen/Workspace/projects/local/framework/tvm/src/relay/ir/expr_functor.cc:158 32: tvm::relay::ExprFunctor<tvm::RelayExpr (tvm::RelayExpr const&)>::VisitExpr(tvm::RelayExpr const&) at /home/gansichen/Workspace/projects/local/framework/tvm/include/tvm/relay/expr_functor.h:95 31: tvm::relay::ExprFunctor<tvm::RelayExpr (tvm::RelayExpr const&)>::InitVTable()::{lambda(tvm::runtime::ObjectRef const&, tvm::relay::ExprFunctor<tvm::RelayExpr (tvm::RelayExpr const&)>)#6}::FUN(tvm::runtime::ObjectRef const&, tvm::relay::ExprFunctor<tvm::RelayExpr (tvm::RelayExpr const&)>) at /home/gansichen/Workspace/projects/local/framework/tvm/include/tvm/relay/expr_functor.h:128 30: tvm::relay::ExprFunctor<tvm::RelayExpr (tvm::RelayExpr const&)>::InitVTable()::{lambda(tvm::runtime::ObjectRef const&, tvm::relay::ExprFunctor<tvm::RelayExpr (tvm::RelayExpr const&)>)#6}::operator()(tvm::runtime::ObjectRef const&, tvm::relay::ExprFunctor<tvm::RelayExpr (tvm::RelayExpr const&)>) const at /home/gansichen/Workspace/projects/local/framework/tvm/include/tvm/relay/expr_functor.h:128 29: tvm::relay::MixedModeMutator::VisitExpr(tvm::relay::CallNode const*) at /home/gansichen/Workspace/projects/local/framework/tvm/include/tvm/relay/expr_functor.h:291 28: tvm::RelayExpr tvm::relay::MixedModeMutator::Rewritetvm::relay::CallNode(tvm::relay::CallNode const*) at /home/gansichen/Workspace/projects/local/framework/tvm/include/tvm/relay/expr_functor.h:313 27: tvm::relay::contrib::esp::GenerateConstantsMutator::Rewrite(tvm::relay::CallNode const*, tvm::RelayExpr const&) at /home/gansichen/Workspace/projects/local/framework/tvm/src/relay/backend/contrib/esp/generate_constants.cc:290 26: tvm::relay::contrib::esp::GenerateConstantsMutator::GenerateConv2dExpConstants(tvm::RelayExpr const&) at /home/gansichen/Workspace/projects/local/framework/tvm/src/relay/backend/contrib/esp/generate_constants.cc:214 25: tvm::relay::contrib::esp::GenerateConstantsMutator::ConvertConv2dLayout(tvm::RelayExpr, tvm::relay::Conv2DAttrs const*, tvm::Attrs*) at /home/gansichen/Workspace/projects/local/framework/tvm/src/relay/backend/contrib/esp/generate_constants.cc:167 24: tvm::relay::transform::FoldConstantExpr(tvm::RelayExpr const&, bool) at /home/gansichen/Workspace/projects/local/framework/tvm/src/relay/transforms/fold_constant.cc:430 23: tvm::relay::transform::FoldConstantExpr(tvm::RelayExpr const&, tvm::IRModule const&, bool) at /home/gansichen/Workspace/projects/local/framework/tvm/src/relay/transforms/fold_constant.cc:423 22: tvm::relay::MixedModeMutator::VisitExpr(tvm::RelayExpr const&) at /home/gansichen/Workspace/projects/local/framework/tvm/src/relay/ir/expr_functor.cc:102 21: ExpandDataflow<tvm::relay::MixedModeMutator::VisitExpr(const Expr&)::<lambda(const Expr&)>, tvm::relay::MixedModeMutator::VisitExpr(const Expr&)::<lambda(const Expr&)> > at /home/gansichen/Workspace/projects/local/framework/tvm/include/tvm/relay/expr_functor.h:509 20: ExpandDataflow<tvm::relay::MixedModeMutator::VisitExpr(const Expr&)::<lambda(const Expr&)>, tvm::relay::MixedModeMutator::VisitExpr(const Expr&)::<lambda(const Expr&)>, tvm::relay::ExpandDataflow(tvm::relay::Expr, FCheckVisited, FVisitLeaf) [with FCheckVisited = tvm::relay::MixedModeMutator::VisitExpr(const Expr&)::<lambda(const Expr&)>; FVisitLeaf = tvm::relay::MixedModeMutator::VisitExpr(const Expr&)::<lambda(const Expr&)>]::<lambda(const Expr&)> > at /home/gansichen/Workspace/projects/local/framework/tvm/include/tvm/relay/expr_functor.h:468 19: operator() at /home/gansichen/Workspace/projects/local/framework/tvm/src/relay/ir/expr_functor.cc:98 18: tvm::relay::MixedModeMutator::VisitLeaf(tvm::RelayExpr const&) at /home/gansichen/Workspace/projects/local/framework/tvm/src/relay/ir/expr_functor.cc:81 17: tvm::relay::MixedModeMutator::DispatchVisitExpr(tvm::RelayExpr const&) at /home/gansichen/Workspace/projects/local/framework/tvm/src/relay/ir/expr_functor.cc:94 16: tvm::relay::ExprMutator::VisitExpr(tvm::RelayExpr const&) at /home/gansichen/Workspace/projects/local/framework/tvm/src/relay/ir/expr_functor.cc:158 15: tvm::relay::ExprFunctor<tvm::RelayExpr (tvm::RelayExpr const&)>::VisitExpr(tvm::RelayExpr const&) at /home/gansichen/Workspace/projects/local/framework/tvm/include/tvm/relay/expr_functor.h:95 14: tvm::relay::ExprFunctor<tvm::RelayExpr (tvm::RelayExpr const&)>::InitVTable()::{lambda(tvm::runtime::ObjectRef const&, tvm::relay::ExprFunctor<tvm::RelayExpr (tvm::RelayExpr const&)>)#6}::FUN(tvm::runtime::ObjectRef const&, tvm::relay::ExprFunctor<tvm::RelayExpr (tvm::RelayExpr const&)>) at /home/gansichen/Workspace/projects/local/framework/tvm/include/tvm/relay/expr_functor.h:128 13: tvm::relay::ExprFunctor<tvm::RelayExpr (tvm::RelayExpr const&)>::InitVTable()::{lambda(tvm::runtime::ObjectRef const&, tvm::relay::ExprFunctor<tvm::RelayExpr (tvm::RelayExpr const&)>)#6}::operator()(tvm::runtime::ObjectRef const&, tvm::relay::ExprFunctor<tvm::RelayExpr (tvm::RelayExpr const&)>) const at /home/gansichen/Workspace/projects/local/framework/tvm/include/tvm/relay/expr_functor.h:128 12: tvm::relay::MixedModeMutator::VisitExpr(tvm::relay::CallNode const*) at /home/gansichen/Workspace/projects/local/framework/tvm/include/tvm/relay/expr_functor.h:291 11: tvm::RelayExpr tvm::relay::MixedModeMutator::Rewritetvm::relay::CallNode(tvm::relay::CallNode const*) at /home/gansichen/Workspace/projects/local/framework/tvm/include/tvm/relay/expr_functor.h:313 10: Rewrite at /home/gansichen/Workspace/projects/local/framework/tvm/src/relay/transforms/fold_constant.cc:202 9: ConstEvaluate at /home/gansichen/Workspace/projects/local/framework/tvm/src/relay/transforms/fold_constant.cc:270 8: tvm::relay::Eval(tvm::RelayExpr, tvm::runtime::Map<tvm::GlobalTypeVar, tvm::TypeData, void, void>, std::unordered_set<tvm::runtime::String, std::hashtvm::runtime::String, std::equal_totvm::runtime::String, std::allocatortvm::runtime::String >, DLDevice, tvm::Target, tvm::runtime::Map<tvm::runtime::String, tvm::runtime::ObjectRef, void, void>) at /home/gansichen/Workspace/projects/local/framework/tvm/src/relay/backend/interpreter.cc:1108 7: tvm::relay::Prepare(tvm::IRModule, tvm::CompilationConfig const&) at /home/gansichen/Workspace/projects/local/framework/tvm/src/relay/backend/interpreter.cc:961 6: tvm::runtime::TVMRetValue tvm::runtime::PackedFunc::operator()<tvm::IRModule, tvm::transform::PassContext>(tvm::IRModule&&, tvm::transform::PassContext&&) const 5: operator() at /home/gansichen/Workspace/projects/local/framework/tvm/src/relay/transforms/type_infer.cc:981 4: tvm::relay::TypeInferencer::Infer(tvm::GlobalVar, tvm::relay::Function) at /home/gansichen/Workspace/projects/local/framework/tvm/src/relay/transforms/type_infer.cc:787 3: tvm::relay::TypeInferencer::Solve() at /home/gansichen/Workspace/projects/local/framework/tvm/src/relay/transforms/type_infer.cc:623 2: tvm::relay::TypeSolver::Solve() at /home/gansichen/Workspace/projects/local/framework/tvm/src/relay/analysis/type_solver.cc:632 1: tvm::TypedEnvFunc<bool (tvm::runtime::Array<tvm::Type, void> const&, int, tvm::Attrs const&, tvm::TypeReporter const&)>::operator()(tvm::runtime::Array<tvm::Type, void> const&, int, tvm::Attrs const&, tvm::TypeReporter const&) const at /home/gansichen/Workspace/projects/local/framework/tvm/include/tvm/ir/env_func.h:142 0: tvm::relay::SplitRel(tvm::runtime::Array<tvm::Type, void> const&, int, tvm::Attrs const&, tvm::TypeReporter const&) at /home/gansichen/Workspace/projects/local/framework/tvm/src/relay/op/tensor/transform.cc:3070 File "/home/gansichen/Workspace/projects/local/framework/tvm/src/relay/analysis/type_solver.cc", line 643 InternalError: Check failed: (false) is false: [13:09:31] /home/gansichen/Workspace/projects/local/framework/tvm/src/relay/op/tensor/transform.cc:3070: InternalError: Check failed: (reporter->Assert(indices[i] > begin)) is false: indices_or_sections need to be a sorted ascending list `

Thank you for any response.

Hi,

Can you please tell me witch version yolo used (yolov5s, yolov5m, yolov5l ?) and if you have change the architecutre(layer/function) from model

Thanks

@MichelBerg
Copy link

Do you guys got running models with TVM ? Where you able to export the yolo model? I used TVM as well but it was inconsistent and buggy.

@Cilouche
Copy link

Cilouche commented Apr 3, 2024

Do you guys got running models with TVM ? Where you able to export the yolo model? I used TVM as well but it was inconsistent and buggy.

Not yet, I'm still waiting for the return of @YigitKaanBingol

@YigitKaanBingol
Copy link
Author

Sorry guys, I've just able to deploy it and run the example, unfortunately i had no time to test accuracy of model.

@YigitKaanBingol
Copy link
Author

Hi,

I have the same problem, i was try to updrade onnx==1.13.0 but show me same problem and when i use a Non quantized model another problem appear nst, tvm::Range> > > const&, unsigned long, bool, std::unordered_set<tvm::tir::IterVar, std::hash<tvm::tir::IterVar>, std::equal_to<tvm::tir::IterVar>, std::allocator<tvm::tir::IterVar> > const&, std::unordered_map<tvm::tir::IterVar, tvm::PrimExpr, std::hash<tvm::tir::IterVar>, std::equal_to<tvm::tir::IterVar>, std::allocator<std::pair<tvm::tir::IterVar const, tvm::PrimExpr> > >*, bool) at /home/gansichen/Workspace/projects/local/framework/tvm/src/te/operation/op_utils.cc:206 3: tvm::te::PassUpIndex(tvm::te::Stage const&, tvm::runtime::Map<tvm::tir::IterVar, tvm::Range, void, void> const&, std::unordered_map<tvm::tir::IterVar, tvm::PrimExpr, std::hash<tvm::tir::IterVar>, std::equal_to<tvm::tir::IterVar>, std::allocator<std::pair<tvm::tir::IterVar const, tvm::PrimExpr> > >*, bool) at /home/gansichen/Workspace/projects/local/framework/tvm/src/te/schedule/message_passing.cc:244 2: tvm::indexdiv(tvm::PrimExpr, tvm::PrimExpr, tvm::Span) at /home/gansichen/Workspace/projects/local/framework/tvm/src/tir/op/op.cc:399 1: tvm::floordiv(tvm::PrimExpr, tvm::PrimExpr, tvm::Span) at /home/gansichen/Workspace/projects/local/framework/tvm/src/tir/op/op.cc:409 0: tvm::runtime::Optional<tvm::PrimExpr> tvm::arith::TryConstFold<tvm::tir::FloorDiv>(tvm::PrimExpr, tvm::PrimExpr) at /home/gansichen/Workspace/projects/local/framework/tvm/src/tir/transforms/../../arith/const_fold.h:273 File "/home/gansichen/Workspace/projects/local/framework/tvm/src/arith/const_fold.h", line 302 InternalError: Check failed: pb->value != 0 (0 vs. 0) : Divide by zero

I use yolov5s model Any suggestion please thanks

I used Yolov5n model and didn't change any layer or function.

@Cilouche
Copy link

Cilouche commented Apr 4, 2024

Output Shape: (1, 2268, 6)

Output Shape: (1, 2268, 6) the 6 indicates the number of classes, in fact you only trained on these 6 classes, right? if I understand correctly

Thanks

@YigitKaanBingol
Copy link
Author

I dont think so, i trained yolov5n model for one class, and export to .onnx format.
The reason for Output Shape: (1, 2268, 6), 6 is for x,y,w,h,confidence,class,
if you have 80 classes, your shape will be -> (1,2268,85)
2268 is based on your exportted model input shape.
I hope i made myself clear.

@Cilouche
Copy link

Cilouche commented Apr 4, 2024

I dont think so, i trained yolov5n model for one class, and export to .onnx format. The reason for Output Shape: (1, 2268, 6), 6 is for x,y,w,h,confidence,class, if you have 80 classes, your shape will be -> (1,2268,85) 2268 is based on your exportted model input shape. I hope i made myself clear.

thank you for these answers

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants