Description
For the following script, It crashed when executing the statement mod = seq(mod)
.
I am so confused! Wish your comments.
Crash script
import tvm
from tvm import relay
from tvm.ir.transform import Sequential
from tvm.contrib import graph_runtime
mod = tvm.IRModule()
seq = Sequential([
relay.transform.AlterOpLayout(),
relay.transform.BatchingOps(),
relay.transform.CanonicalizeCast(),
relay.transform.CanonicalizeOps(),
relay.transform.DeadCodeElimination(),
relay.transform.DynamicToStatic(),
relay.transform.FastMath(),
relay.transform.EliminateCommonSubexpr(),
relay.transform.MergeCompilerRegions(),
relay.transform.Inline(),
relay.transform.LambdaLift(),
relay.transform.FoldConstant(),
relay.transform.ToGraphNormalForm(),
])
var_0 = relay.var("var_0", dtype = "int16", shape = ())
var_1 = relay.var("var_1", dtype = "int16", shape = (8,))
uop_2 = relay.add(var_0.astype('int16'), var_1.astype('int16'))
var_3 = relay.var("var_3", dtype = "uint8", shape = (8, 16))
var_4 = relay.var("var_4", dtype = "uint8", shape = (8, 16))
uop_5 = relay.add(var_3.astype('uint8'), relay.reshape(var_4.astype('uint8'), relay.shape_of(var_3)))
uop_6 = relay.add(var_3.astype('int64'), var_0.astype('int64'))
uop_7 = relay.add(uop_2.astype('int64'), var_0.astype('int64'))
uop_8 = relay.add(uop_6.astype('int32'), relay.reshape(var_4.astype('int32'), relay.shape_of(uop_6)))
var_9 = relay.var("var_9", dtype = "int32", shape = (16, 11, 1))
var_10 = relay.var("var_10", dtype = "int32", shape = (16, 11, 9))
uop_11 = relay.add(var_9.astype('int32'), var_10.astype('int32'))
var_12 = relay.var("var_12", dtype = "int32", shape = (16, 11, 9))
uop_13 = relay.add(var_10.astype('float64'), relay.reshape(var_12.astype('float64'), relay.shape_of(var_10)))
output = relay.Tuple([uop_5,uop_7,uop_8,uop_11,uop_13,])
func_14 = relay.Function([var_0,var_1,var_3,var_4,var_9,var_10,var_12,], output)
mod['func_14'] = func_14
mod = relay.transform.InferType()(mod)
var_15 = relay.var("var_15", dtype = "int8", shape = ())
var_16 = relay.var("var_16", dtype = "int8", shape = (5, 3, 6))
uop_17 = relay.add(var_15.astype('int8'), var_16.astype('int8'))
func_14_call = mod.get_global_var('func_14')
const_19 = relay.const([[3],[-10],[1],[9],[-10],[1],[-10],[-8]], dtype = "int16")
var_20 = relay.var("var_20", dtype = "uint8", shape = (32, 4))
const_21 = relay.const([[8,-3,-1,-4],[-2,6,-3,4],[3,9,-5,-1],[-3,1,8,-6],[-7,5,-7,5],[-2,-3,-3,-2],[-3,8,-5,8],[10,9,-5,6],[3,-10,-8,2],[-7,4,6,-4],[-10,-6,3,-4],[-3,3,-7,-10],[8,-3,-8,-6],[-1,-2,-10,-5],[-1,5,9,9],[2,2,8,-10],[-3,-5,-9,5],[-3,9,5,4],[-7,2,-8,-7],[-2,2,10,-8],[-6,-5,6,-6],[-7,4,9,8],[9,-3,2,9],[-9,-5,2,4],[-8,2,-9,5],[-3,7,-7,9],[8,4,2,-3],[-4,-1,-4,2],[-4,-8,-5,8],[-1,2,-4,5],[3,-2,-3,-7],[3,-1,1,-1],[-10,-7,-3,2],[3,-2,-5,7],[-6,-4,-3,-8],[-6,-7,4,3],[8,-10,-8,5],[-8,-6,-3,2],[3,-2,4,-5],[9,-9,-10,9],[-2,-1,3,2],[2,-6,-3,6],[-4,-4,-8,-9],[1,-10,-10,-2]], dtype = "int32")
const_22 = relay.const([[-4,-6,-7,3,-6,10,6,8,-7,-3,10,3,-1,-4,-3,-8,5,-5,8,-6,1,-8,6,-2,-6,7,-8,-9,5,3,-2,-6,-4,-9,-1,7,-3,-10,2,-3,8,4,2,5,9,-7,9,-9,-6,-5,5,8,6,-8,-1,-9,-3,-7,8,-10,9,1,-3,-1,9,6,8,6,4,-4,-7,6,-10,2,-6,-7,2,-3,8,-3,-9,-5,-5,-1,-2,-5,-2,8,-5,-9,3,-6,-8,9,2,-5,1,8,-8,4,-5,-1,-10,-10,9,6,9,-6,-10,3,9,10,7,-7,-8,8,-9,-2,-10,-6,2,-1,-3,-8,-4,-2,8,-2,-2,1,-9,5,10,9,-10,8,-6,-4,8,1,-10,2,6,2,-4,-10,-4,2,-2,7,-3,-5,6,7,9,3,-8,-9,10,4,8,8,9,-7,9,3,9,-1,7,-8,-4,8,-7,-10,-2,-2,10,-2,7,2,-5,10,-2,8,8,6,8,-8,4,-3,-4,-7,-4,5,-8,9,-1,7,9,3,-3,1,-6,8,9,-6,-4,-7,-10,10,-9,-3,-8,-4,-10,-6,7,-6,-8,-2,-4,10,-1,-8,9,-1,9,-1,-8,5,3,1,-9,-4,9,-6,6,5,-2,8,-5,4,-7,-2,-9,1,8,-3,-8,6,4,-2,-7,-10,2,-4,9,10,2,-10,-10,-2,-2,-7,-3,8,4,-10,9,-2,7,7,-4,1,2,7,-2,-10,6,-5,-10,-8,4,-7,-5,-3,7,-10,10,6,-5,-4,6,1,1,10,-8,-8,-6,5,-4,-6,10,-1,-7,2,4,9,10,-1,-8,4,9,10,5,-9,-6,1,2,6,-2,1,4,5,2,5,-7,7,1,3,5,-6,-8,-6,-8,10,-3,-6,-5,-1,7,8,-6,-1,-4,-2,10,-9,4,9,-8,-4,3,7,10,-6,5,10,3,-10,-8,6,-10,-6,-10,10,7,-10,5,10,-7,-4,-2,-6,8,2,8,-5,4,-5,-8,4,-1,8,4,-3,6,-3,-2,5,-7,-7,6,-3,3,7],[-7,9,-7,-3,-4,-10,-4,1,4,-5,3,-5,-3,-9,8,-2,-7,2,9,-5,-2,5,9,-9,10,-3,-7,9,-7,-10,4,-10,2,-7,7,-4,-6,-4,-5,-10,-8,-5,1,7,-4,-5,-7,-1,8,2,9,-4,-6,-10,3,3,2,8,-4,3,2,-8,4,-9,-7,-8,8,-9,-10,3,-8,-7,-6,6,-10,8,7,-2,-5,-3,-4,7,3,-6,7,-8,-6,7,-10,2,2,-5,-7,-9,-9,-7,3,7,-1,9,-2,7,2,10,9,-3,5,1,4,-6,-4,10,-6,3,9,7,9,-1,-2,-2,-4,-3,4,1,-5,2,8,9,8,3,-4,-9,6,1,-3,-8,-9,-6,-6,2,3,-3,6,7,3,-1,2,-9,2,-8,-4,-1,-9,5,-5,-9,1,-1,1,2,10,1,5,-4,-10,3,-1,9,3,-7,1,9,5,10,10,2,-5,-5,4,9,-2,-10,-9,2,2,-10,-3,-6,1,-6,8,-2,-10,-5,-6,8,9,8,-6,-9,10,-3,10,-3,5,-1,-7,6,-2,4,7,6,2,3,-8,8,2,3,9,3,5,-9,-7,-2,7,-8,7,-10,10,7,-6,6,-6,-9,4,1,6,-2,6,-1,-7,7,3,-3,3,-10,6,-4,-4,-9,5,-6,1,-3,1,2,-4,-1,8,-1,5,7,-7,6,-6,-10,7,3,5,7,-1,-3,7,4,-10,-6,4,8,6,5,-9,2,-10,-5,2,-10,-10,10,6,3,-6,-1,-2,-6,-3,10,-3,-9,9,9,-6,6,1,-3,9,3,5,-10,4,-5,4,-10,-8,-3,5,-10,-10,-8,2,7,7,9,-5,9,4,8,-7,-6,-9,4,10,6,-10,-10,-6,-4,-7,5,3,-3,7,-4,10,-1,-8,3,-9,-7,-3,-9,-5,2,-9,6,-10,-6,10,3,-1,-9,9,6,-2,7,1,-6,1,10,6,2,3,-5,10,-3,10,10,5,-9,1,4,-2,-10,-8,-4,4,-10,-6,2,-3,-6,8,-4,4,-1,9,-8],[-6,5,9,-8,-5,-4,5,8,-2,1,-2,6,-10,10,-2,8,7,2,5,8,10,3,-7,-3,5,10,1,-3,3,-8,-4,-3,-2,-6,4,-6,-6,-10,-10,-6,7,4,4,-6,-5,-1,1,-7,-10,-1,-6,1,-6,9,-3,2,-10,7,8,-10,8,-9,9,3,8,6,-10,10,-9,3,3,-2,-4,7,-2,2,-10,8,-8,9,-4,-1,-3,10,9,5,-1,-7,6,6,10,-8,10,2,-7,-5,5,3,7,3,9,10,-5,-4,10,10,9,-2,2,-10,-4,-9,-8,-10,-8,-5,-9,8,1,-6,3,2,-4,4,8,-6,-6,3,7,-1,6,-5,-10,-8,4,-1,-10,8,7,1,-3,-10,-1,-5,8,-7,-3,-9,3,5,3,-4,-10,8,-4,5,-5,-8,-1,7,8,-4,-6,3,2,7,-3,10,-5,1,9,-9,-4,-5,2,4,5,3,3,-1,4,-2,-10,2,-3,5,2,10,-2,1,-6,6,-7,5,4,6,-5,-9,-3,8,-6,9,8,-4,-4,-6,1,2,-10,-5,2,-4,-2,-9,4,10,-4,-7,-10,-5,-5,-5,-5,-4,3,-1,3,-1,8,9,-9,3,-9,8,-3,-4,-5,7,-5,9,10,-2,-5,7,10,7,-6,5,-5,7,-5,8,-9,2,-6,9,-10,1,3,-1,6,4,-10,-7,1,5,-4,-8,8,6,-10,1,7,7,2,3,-6,7,-8,-3,10,-7,-10,7,4,5,-10,7,-10,7,2,7,-7,-8,-1,-5,10,5,-6,10,-8,7,-1,5,-7,-1,-2,-9,-5,7,-7,-8,4,-6,8,2,1,5,-2,-5,-5,-9,7,8,-4,-1,-7,9,4,4,3,9,-3,-8,-7,5,-1,8,2,-3,3,9,-3,-3,-4,-1,1,3,-6,-1,5,-4,-10,-6,10,-1,3,3,10,5,5,1,9,9,6,-10,-6,9,7,-8,-7,10,-1,-8,-10,-5,10,-10,1,-6,-9,-1,-1,1,-6,-4,10,-2,8,-1,2,1,3,3,-3,4],[7,9,4,7,10,4,7,2,8,2,-1,-4,-8,-10,-7,-3,10,2,1,-5,-3,1,-8,5,-8,8,4,4,10,-1,10,1,5,5,3,8,-10,-5,-4,6,9,-9,-7,-3,1,-6,-7,3,8,-9,-10,8,6,10,-6,-1,-4,6,-5,10,4,-1,3,-4,-3,-4,1,-3,-7,-8,1,6,10,-9,-10,3,7,4,9,10,2,-3,8,-2,8,6,9,-9,3,-4,-8,-8,2,-2,-3,-2,-6,9,-10,-7,-1,10,-6,-9,-6,3,-3,-9,-4,-7,-1,1,2,1,3,10,4,3,10,8,-8,-2,-5,-5,1,-7,1,-2,-10,-4,-5,-6,-8,-9,-3,-8,10,-2,-2,6,-1,6,1,-4,2,-3,-6,-6,-9,5,-1,-5,-3,-8,3,8,4,-5,-3,5,1,-2,8,1,2,1,9,6,2,6,-7,1,-10,8,7,9,-3,3,1,-9,10,-8,-6,10,2,3,-2,-3,-3,6,-4,6,-5,9,4,9,-7,-2,5,3,10,7,2,-4,8,-5,-4,2,-1,-5,10,-1,-3,2,-7,-5,2,-8,-1,9,4,-4,4,-8,-8,10,-9,6,3,1,-4,-6,-10,1,1,-1,-2,3,-2,1,-6,-9,-1,8,-7,-6,7,9,8,-1,8,4,-8,5,2,1,6,-4,8,-5,-2,6,-4,-9,5,-3,-1,-6,-6,8,-7,-7,-10,2,-2,3,-7,-5,5,3,-3,4,3,-4,1,8,-2,4,5,-2,-4,-3,5,2,-4,-2,3,-3,-6,-7,9,-6,2,7,-8,8,-5,1,-9,-9,-1,-9,9,-1,9,3,-5,10,-10,7,-5,8,-6,-9,-5,7,3,8,-8,-6,-7,6,9,1,5,7,-3,-2,-7,3,1,-6,5,-6,-5,1,-3,-5,-5,2,-4,-9,-6,-7,2,-3,-9,-9,4,-1,-8,-2,1,3,-4,5,-6,7,3,-4,-4,-10,-9,1,-2,2,-7,3,2,4,-1,-3,1,-8,2,1,-1,10,8,3,4,-4,-2,8,2,-9]], dtype = "int32")#candidate|22|(4, 396)|const|int32
call_18 = relay.TupleGetItem(func_14_call(relay.reshape(var_15.astype('int16'), []), relay.reshape(const_19.astype('int16'), [8,]), relay.reshape(var_20.astype('uint8'), [8, 16]), relay.reshape(var_20.astype('uint8'), [8, 16]), relay.reshape(const_21.astype('int32'), [16, 11, 1]), relay.reshape(const_22.astype('int32'), [16, 11, 9]), relay.reshape(const_22.astype('int32'), [16, 11, 9]), ), 0)
output = relay.Tuple([call_18])
func_23 = relay.Function([var_15,var_16,var_20,], output)
mod['main'] = func_23
mod = seq(mod) # Crash
Traceback
the function is provided too many arguments expected 1, found 7
Traceback (most recent call last):
File "output-sim.py", line 56, in <module>
mod = seq(mod) # Crash
File "/workplace/software/tvm/tvm/python/tvm/ir/transform.py", line 161, in __call__
return _ffi_transform_api.RunPass(self, mod)
File "/workplace/software/tvm/tvm/python/tvm/_ffi/_ctypes/packed_func.py", line 237, in __call__
raise get_last_ffi_error()
tvm.error.DiagnosticError: Traceback (most recent call last):
60: TVMFuncCall
59: tvm::runtime::PackedFuncObj::Extractor<tvm::runtime::PackedFuncSubObj<tvm::runtime::TypedPackedFunc<tvm::IRModule (tvm::transform::Pass, tvm::IRModule)>::AssignTypedLambda<tvm::transform::$_6>(tvm::transform::$_6, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >)::{lambda(tvm::runtime::TVMArgs const&, tvm::runtime::TVMRetValue*)#1}> >::Call(tvm::runtime::PackedFuncObj const*, tvm::runtime::TVMArgs, tvm::runtime::TVMRetValue*)
58: tvm::transform::Pass::operator()(tvm::IRModule) const
57: tvm::transform::Pass::operator()(tvm::IRModule, tvm::transform::PassContext const&) const
56: tvm::transform::SequentialNode::operator()(tvm::IRModule, tvm::transform::PassContext const&) const
55: tvm::transform::Pass::operator()(tvm::IRModule, tvm::transform::PassContext const&) const
54: tvm::relay::transform::FunctionPassNode::operator()(tvm::IRModule, tvm::transform::PassContext const&) const
53: tvm::runtime::PackedFuncObj::Extractor<tvm::runtime::PackedFuncSubObj<tvm::runtime::TypedPackedFunc<tvm::relay::Function (tvm::relay::Function, tvm::IRModule, tvm::transform::PassContext)>::AssignTypedLambda<tvm::relay::transform::DynamicToStatic()::$_0>(tvm::relay::transform::DynamicToStatic()::$_0)::{lambda(tvm::runtime::TVMArgs const&, tvm::runtime::TVMRetValue*)#1}> >::Call(tvm::runtime::PackedFuncObj const*, tvm::runtime::TVMArgs, tvm::runtime::TVMRetValue*)
52: tvm::relay::DynamicToStatic(tvm::relay::Function, tvm::IRModule)
51: tvm::relay::MixedModeMutator::VisitExpr(tvm::RelayExpr const&)
50: tvm::relay::MixedModeMutator::VisitLeaf(tvm::RelayExpr const&)
49: tvm::relay::DynamicToStaticMutator::DispatchVisitExpr(tvm::RelayExpr const&)
48: _ZN3tvm5relay1
47: tvm::relay::ExprMutator::VisitExpr(tvm::RelayExpr const&)
46: tvm::relay::ExprFunctor<tvm::RelayExpr (tvm::RelayExpr const&)>::VisitExpr(tvm::RelayExpr const&)
45: tvm::NodeFunctor<tvm::RelayExpr (tvm::runtime::ObjectRef const&, tvm::relay::ExprFunctor<tvm::RelayExpr (tvm::RelayExpr const&)>*)>::operator()(tvm::runtime::ObjectRef const&, tvm::relay::ExprFunctor<tvm::RelayExpr (tvm::RelayExpr const&)>*) const
44: _ZZN3tvm5relay11ExprFunc
43: tvm::relay::ExprMutator::VisitExpr_(tvm::relay::FunctionNode const*)
42: tvm::relay::MixedModeMutator::VisitExpr(tvm::RelayExpr const&)
41: tvm::relay::MixedModeMutator::VisitLeaf(tvm::RelayExpr const&)
40: tvm::relay::DynamicToStaticMutator::DispatchVisitExpr(tvm::RelayExpr const&)
39: _ZN3tvm5relay1
38: tvm::relay::ExprMutator::VisitExpr(tvm::RelayExpr const&)
37: tvm::relay::ExprFunctor<tvm::RelayExpr (tvm::RelayExpr const&)>::VisitExpr(tvm::RelayExpr const&)
36: tvm::NodeFunctor<tvm::RelayExpr (tvm::runtime::ObjectRef const&, tvm::relay::ExprFunctor<tvm::RelayExpr (tvm::RelayExpr const&)>*)>::operator()(tvm::runtime::ObjectRef const&, tvm::relay::ExprFunctor<tvm::RelayExpr (tvm::RelayExpr const&)>*) const
35: _ZZN3tvm5relay11ExprFunc
34: _ZN3tvm5relay1
33: tvm::RelayExpr tvm::relay::MixedModeMutator::Rewrite<tvm::relay::CallNode>(tvm::relay::CallNode const*)
32: tvm::relay::DynamicToStaticMutator::Rewrite_(tvm::relay::CallNode const*, tvm::RelayExpr const&)
31: _ZNSt17_Function_
30: tvm::relay::DynamicToStaticMutator::DynamicToStaticMutator(tvm::IRModule, tvm::relay::Function)::{lambda(tvm::relay::CallNode const*)#1}::operator()(tvm::relay::CallNode const*) const
29: tvm::relay::DynamicToStaticMutator::PrepareArgs(tvm::relay::CallNode const*)
28: tvm::relay::DynamicToStaticMutator::PrepareInput(tvm::RelayExpr const&)
27: tvm::transform::Pass::operator()(tvm::IRModule) const
26: tvm::transform::Pass::operator()(tvm::IRModule, tvm::transform::PassContext const&) const
25: tvm::relay::transform::FunctionPassNode::operator()(tvm::IRModule, tvm::transform::PassContext const&) const
24: tvm::transform::Pass::operator()(tvm::IRModule) const
23: tvm::transform::Pass::operator()(tvm::IRModule, tvm::transform::PassContext const&) const
22: tvm::transform::ModulePassNode::operator()(tvm::IRModule, tvm::transform::PassContext const&) const
21: tvm::runtime::PackedFuncObj::Extractor<tvm::runtime::PackedFuncSubObj<tvm::runtime::TypedPackedFunc<tvm::IRModule (tvm::IRModule, tvm::transform::PassContext)>::AssignTypedLambda<tvm::relay::transform::InferType()::$_2>(tvm::relay::transform::InferType()::$_2)::{lambda(tvm::runtime::TVMArgs const&, tvm::runtime::TVMRetValue*)#1}> >::Call(tvm::runtime::PackedFuncObj const*, tvm::runtime::TVMArgs, tvm::runtime::TVMRetValue*)
20: tvm::relay::TypeInferencer::Infer(tvm::GlobalVar, tvm::relay::Function)
19: tvm::relay::TypeInferencer::GetType(tvm::RelayExpr const&)
18: tvm::relay::TypeInferencer::VisitExpr(tvm::RelayExpr const&)
17: void tvm::relay::ExpandDataflow<tvm::relay::TypeInferencer::VisitExpr(tvm::RelayExpr const&)::{lambda(tvm::RelayExpr const&)#1}, tvm::relay::TypeInferencer::VisitExpr(tvm::RelayExpr const&)::{lambda(tvm::RelayExpr const&)#2}>(tvm::RelayExpr, tvm::relay::TypeInferencer::VisitExpr(tvm::RelayExpr const&)::{lambda(tvm::RelayExpr const&)#1}, tvm::relay::TypeInferencer::VisitExpr(tvm::RelayExpr const&)::{lambda(tvm::RelayExpr const&)#2})
16: void tvm::relay::ExpandDataflow<tvm::relay::TypeInferencer::VisitExpr(tvm::RelayExpr const&)::{lambda(tvm::RelayExpr const&)#1}, tvm::relay::TypeInferencer::VisitExpr(tvm::RelayExpr const&)::{lambda(tvm::RelayExpr const&)#2}, tvm::relay::ExpandDataflow<{lambda(tvm::RelayExpr const&)#1}, tvm::relay::TypeInferencer::VisitExpr(tvm::RelayExpr const&)::{lambda(tvm::RelayExpr const&)#1}>(tvm::RelayExpr, {lambda(tvm::RelayExpr const&)#1}, tvm::relay::TypeInferencer::VisitExpr(tvm::RelayExpr const&)::{lambda(tvm::RelayExpr const&)#1})::{lambda(tvm::RelayExpr const&)#1}>(tvm::RelayExpr, tvm::relay::TypeInferencer::VisitExpr(tvm::RelayExpr const&)::{lambda(tvm::RelayExpr const&)#2}, tvm::relay::ExpandDataflow, tvm::relay::ExpandDataflow<{lambda(tvm::RelayExpr const&)#1}, tvm::relay::TypeInferencer::VisitExpr(tvm::RelayExpr const&)::{lambda(tvm::RelayExpr const&)#1}>(tvm::RelayExpr, {lambda(tvm::RelayExpr const&)#1}, tvm::relay::TypeInferencer::VisitExpr(tvm::RelayExpr const&)::{lambda(tvm::RelayExpr const&)#1})::{lambda(tvm::RelayExpr const&)#1})
15: tvm::relay::TypeInferencer::VisitLeaf(tvm::RelayExpr const&)
14: tvm::relay::ExprFunctor<tvm::Type (tvm::RelayExpr const&)>::VisitExpr(tvm::RelayExpr const&)
13: tvm::NodeFunctor<tvm::Type (tvm::runtime::ObjectRef const&, tvm::relay::ExprFunctor<tvm::Type (tvm::RelayExpr const&)>*)>::operator()(tvm::runtime::ObjectRef const&, tvm::relay::ExprFunctor<tvm::Type (tvm::RelayExpr const&)>*) const
12: _ZZN3tvm5relay11ExprFunc
11: tvm::relay::TypeInferencer::VisitExpr_(tvm::relay::FunctionNode const*)
10: tvm::relay::TypeInferencer::GetType(tvm::RelayExpr const&)
9: tvm::relay::TypeInferencer::VisitExpr(tvm::RelayExpr const&)
8: void tvm::relay::ExpandDataflow<tvm::relay::TypeInferencer::VisitExpr(tvm::RelayExpr const&)::{lambda(tvm::RelayExpr const&)#1}, tvm::relay::TypeInferencer::VisitExpr(tvm::RelayExpr const&)::{lambda(tvm::RelayExpr const&)#2}>(tvm::RelayExpr, tvm::relay::TypeInferencer::VisitExpr(tvm::RelayExpr const&)::{lambda(tvm::RelayExpr const&)#1}, tvm::relay::TypeInferencer::VisitExpr(tvm::RelayExpr const&)::{lambda(tvm::RelayExpr const&)#2})
7: void tvm::relay::ExpandDataflow<tvm::relay::TypeInferencer::VisitExpr(tvm::RelayExpr const&)::{lambda(tvm::RelayExpr const&)#1}, tvm::relay::TypeInferencer::VisitExpr(tvm::RelayExpr const&)::{lambda(tvm::RelayExpr const&)#2}, tvm::relay::ExpandDataflow<{lambda(tvm::RelayExpr const&)#1}, tvm::relay::TypeInferencer::VisitExpr(tvm::RelayExpr const&)::{lambda(tvm::RelayExpr const&)#1}>(tvm::RelayExpr, {lambda(tvm::RelayExpr const&)#1}, tvm::relay::TypeInferencer::VisitExpr(tvm::RelayExpr const&)::{lambda(tvm::RelayExpr const&)#1})::{lambda(tvm::RelayExpr const&)#1}>(tvm::RelayExpr, tvm::relay::TypeInferencer::VisitExpr(tvm::RelayExpr const&)::{lambda(tvm::RelayExpr const&)#2}, tvm::relay::ExpandDataflow, tvm::relay::ExpandDataflow<{lambda(tvm::RelayExpr const&)#1}, tvm::relay::TypeInferencer::VisitExpr(tvm::RelayExpr const&)::{lambda(tvm::RelayExpr const&)#1}>(tvm::RelayExpr, {lambda(tvm::RelayExpr const&)#1}, tvm::relay::TypeInferencer::VisitExpr(tvm::RelayExpr const&)::{lambda(tvm::RelayExpr const&)#1})::{lambda(tvm::RelayExpr const&)#1})
6: tvm::relay::TypeInferencer::VisitLeaf(tvm::RelayExpr const&)
5: tvm::relay::ExprFunctor<tvm::Type (tvm::RelayExpr const&)>::VisitExpr(tvm::RelayExpr const&)
4: tvm::NodeFunctor<tvm::Type (tvm::runtime::ObjectRef const&, tvm::relay::ExprFunctor<tvm::Type (tvm::RelayExpr const&)>*)>::operator()(tvm::runtime::ObjectRef const&, tvm::relay::ExprFunctor<tvm::Type (tvm::RelayExpr const&)>*) const
3: _ZZN3tvm5relay11ExprFunc
2: tvm::relay::TypeInferencer::VisitExpr_(tvm::relay::CallNode const*)
1: tvm::relay::TypeInferencer::GeneralCall(tvm::relay::CallNode const*, tvm::runtime::Array<tvm::Type, void>)
0: tvm::DiagnosticContext::Render()
File "/workplace/software/tvm/tvm/src/ir/diagnostic.cc", line 105
DiagnosticError: one or more error diagnostics were emitted, please check diagnostic render for output.