Hi:
When from_tensorflow
from Relay Frontend
convert a ConcatV2
operation, an error comes out, and it displays
[15:33:24] /Users/lisiyuan/Codes/deployment/incubator-tvm/src/relay/ir/doc.h:51: text node: ' an internal invariant was violated while typechecking your program [15:33:24] /Users/lisiyuan/Codes/deployment/incubator-tvm/src/relay/op/tensor/transform.cc:1919: Check failed: begin_v < end_v (0 vs. 0) : strided_slice get empty slice at axis 0
Stack trace:
[bt] (0) 1 libtvm.dylib 0x0000001c434945c9 dmlc::LogMessageFatal::~LogMessageFatal() + 57
[bt] (1) 2 libtvm.dylib 0x0000001c439ce7ab tvm::relay::StridedSliceRel(tvm::Array<tvm::relay::Type, void> const&, int, tvm::Attrs const&, tvm::relay::TypeReporter const&) + 3899
[bt] (2) 3 libtvm.dylib 0x0000001c4384689f void tvm::runtime::detail::unpack_call_dispatcher<bool, 0, 4, bool (*)(tvm::Array<tvm::relay::Type, void> const&, int, tvm::Attrs const&, tvm::relay::TypeReporter const&)>::run<tvm::runtime::TVMArgValue, tvm::runtime::TVMArgValue, tvm::runtime::TVMArgValue, tvm::runtime::TVMArgValue>(bool (* const&)(tvm::Array<tvm::relay::Type, void> const&, int, tvm::Attrs const&, tvm::relay::TypeReporter const&), tvm::runtime::TVMArgs const&, tvm::runtime::TVMRetValue*, tvm::runtime::TVMArgValue&&, tvm::runtime::TVMArgValue&&, tvm::runtime::TVMArgValue&&, tvm::runtime::TVMArgValue&&) + 95
[bt] (3) 4 libtvm.dylib 0x0000001c438467f9 std::__1::__function::__func<void tvm::runtime::TypedPackedFunc<bool (tvm::Array<tvm::relay::Type, void> const&, int, tvm::Attrs const&, tvm::relay::TypeReporter const&)>::AssignTypedLambda<bool (*)(tvm::Array<tvm::relay::Type, void> const&, int, tvm::Attrs const&, tvm::relay::TypeReporter const&)>(bool (*)(tvm::Array<tvm::relay::Type, void> const&, int, tvm::Attrs const&, tvm::relay::TypeReporter const&))::'lambda'(tvm::runtime::TVMArgs const&, tvm::runtime::TVMRetValue*), std::__1::allocator<void tvm::runtime::TypedPackedFunc<bool (tvm::Array<tvm::relay::Type, void> const&, int, tvm::Attrs const&, tvm::relay::TypeReporter const&)>::AssignTypedLambda<bool (*)(tvm::Array<tvm::relay::Type, void> const&, int, tvm::Attrs const&, tvm::relay::TypeReporter const&)>(bool (*)(tvm::Array<tvm::relay::Type, void> const&, int, tvm::Attrs const&, tvm::relay::TypeReporter const&))::'lambda'(tvm::runtime::TVMArgs const&, tvm::runtime::TVMRetValue*)>, void (tvm::runtime::TVMArgs, tvm::runtime::TVMRetValue*)>::operator()(tvm::runtime::TVMArgs&&, tvm::runtime::TVMRetValue*&&) + 137
[bt] (4) 5 libtvm.dylib 0x0000001c43b85d35 tvm::TypedEnvFunc<bool (tvm::Array<tvm::relay::Type, void> const&, int, tvm::Attrs const&, tvm::relay::TypeReporter const&)>::operator()(tvm::Array<tvm::relay::Type, void> const&, int, tvm::Attrs const&, tvm::relay::TypeReporter const&) const + 325
[bt] (5) 6 libtvm.dylib 0x0000001c43b856af tvm::relay::TypeSolver::Solve() + 1071
[bt] (6) 7 libtvm.dylib 0x0000001c43b69dac tvm::relay::TypeInferencer::Infer(tvm::relay::Expr) + 108
[bt] (7) 8 libtvm.dylib 0x0000001c43b6ac02 tvm::relay::InferType(tvm::relay::Function const&, tvm::relay::Module const&, tvm::relay::GlobalVar const&) + 546
[bt] (8) 9 libtvm.dylib 0x0000001c43c532f8 tvm::relay::ModuleNode::Add(tvm::relay::GlobalVar const&, tvm::relay::Function const&, bool) + 1576
; ' should not has tab or newline.
Traceback (most recent call last):
File "obj_det_part_analysis.py", line 285, in <module>
extract_sub_graph_def()
File "obj_det_part_analysis.py", line 272, in extract_sub_graph_def
mod, params = relay.frontend.from_tensorflow(reshape_graph_def, layout=None)
File "/Users/lisiyuan/Codes/deployment/incubator-tvm/python/tvm/relay/frontend/tensorflow.py", line 2577, in from_tensorflow
mod, params = g.from_tensorflow(graph, layout, shape, outputs)
File "/Users/lisiyuan/Codes/deployment/incubator-tvm/python/tvm/relay/frontend/tensorflow.py", line 2271, in from_tensorflow
self._mod["main"] = func
File "/Users/lisiyuan/Codes/deployment/incubator-tvm/python/tvm/relay/module.py", line 85, in __setitem__
return self._add(var, val)
File "/Users/lisiyuan/Codes/deployment/incubator-tvm/python/tvm/relay/module.py", line 94, in _add
_module.Module_Add(self, var, val, update)
File "/Users/lisiyuan/Codes/deployment/incubator-tvm/python/tvm/_ffi/_ctypes/function.py", line 207, in __call__
raise get_last_ffi_error()
tvm._ffi.base.TVMError: Traceback (most recent call last):
[bt] (8) 9 ??? 0x00007ffee4526720 0x0 + 140732729026336
[bt] (7) 8 libffi.6.dylib 0x000000010be99884 ffi_call_unix64 + 76
[bt] (6) 7 libtvm.dylib 0x0000001c43d34cd8 TVMFuncCall + 72
[bt] (5) 6 libtvm.dylib 0x0000001c43c5bd29 std::__1::__function::__func<tvm::relay::$_2, std::__1::allocator<tvm::relay::$_2>, void (tvm::runtime::TVMArgs, tvm::runtime::TVMRetValue*)>::operator()(tvm::runtime::TVMArgs&&, tvm::runtime::TVMRetValue*&&) + 537
[bt] (4) 5 libtvm.dylib 0x0000001c43c532f8 tvm::relay::ModuleNode::Add(tvm::relay::GlobalVar const&, tvm::relay::Function const&, bool) + 1576
[bt] (3) 4 libtvm.dylib 0x0000001c43b6ac02 tvm::relay::InferType(tvm::relay::Function const&, tvm::relay::Module const&, tvm::relay::GlobalVar const&) + 546
[bt] (2) 3 libtvm.dylib 0x0000001c43b69dc8 tvm::relay::TypeInferencer::Infer(tvm::relay::Expr) + 136
[bt] (1) 2 libtvm.dylib 0x0000001c43c2fec9 tvm::relay::ErrorReporter::RenderErrors(tvm::relay::Module const&, bool) + 5433
[bt] (0) 1 libtvm.dylib 0x0000001c434945c9 dmlc::LogMessageFatal::~LogMessageFatal() + 57
[bt] (8) 9 libtvm.dylib 0x0000001c43c532f8 tvm::relay::ModuleNode::Add(tvm::relay::GlobalVar const&, tvm::relay::Function const&, bool) + 1576
[bt] (7) 8 libtvm.dylib 0x0000001c43b6ac02 tvm::relay::InferType(tvm::relay::Function const&, tvm::relay::Module const&, tvm::relay::GlobalVar const&) + 546
[bt] (6) 7 libtvm.dylib 0x0000001c43b69dac tvm::relay::TypeInferencer::Infer(tvm::relay::Expr) + 108
[bt] (5) 6 libtvm.dylib 0x0000001c43b856af tvm::relay::TypeSolver::Solve() + 1071
[bt] (4) 5 libtvm.dylib 0x0000001c43b85d35 tvm::TypedEnvFunc<bool (tvm::Array<tvm::relay::Type, void> const&, int, tvm::Attrs const&, tvm::relay::TypeReporter const&)>::operator()(tvm::Array<tvm::relay::Type, void> const&, int, tvm::Attrs const&, tvm::relay::TypeReporter const&) const + 325
[bt] (3) 4 libtvm.dylib 0x0000001c438467f9 std::__1::__function::__func<void tvm::runtime::TypedPackedFunc<bool (tvm::Array<tvm::relay::Type, void> const&, int, tvm::Attrs const&, tvm::relay::TypeReporter const&)>::AssignTypedLambda<bool (*)(tvm::Array<tvm::relay::Type, void> const&, int, tvm::Attrs const&, tvm::relay::TypeReporter const&)>(bool (*)(tvm::Array<tvm::relay::Type, void> const&, int, tvm::Attrs const&, tvm::relay::TypeReporter const&))::'lambda'(tvm::runtime::TVMArgs const&, tvm::runtime::TVMRetValue*), std::__1::allocator<void tvm::runtime::TypedPackedFunc<bool (tvm::Array<tvm::relay::Type, void> const&, int, tvm::Attrs const&, tvm::relay::TypeReporter const&)>::AssignTypedLambda<bool (*)(tvm::Array<tvm::relay::Type, void> const&, int, tvm::Attrs const&, tvm::relay::TypeReporter const&)>(bool (*)(tvm::Array<tvm::relay::Type, void> const&, int, tvm::Attrs const&, tvm::relay::TypeReporter const&))::'lambda'(tvm::runtime::TVMArgs const&, tvm::runtime::TVMRetValue*)>, void (tvm::runtime::TVMArgs, tvm::runtime::TVMRetValue*)>::operator()(tvm::runtime::TVMArgs&&, tvm::runtime::TVMRetValue*&&) + 137
[bt] (2) 3 libtvm.dylib 0x0000001c4384689f void tvm::runtime::detail::unpack_call_dispatcher<bool, 0, 4, bool (*)(tvm::Array<tvm::relay::Type, void> const&, int, tvm::Attrs const&, tvm::relay::TypeReporter const&)>::run<tvm::runtime::TVMArgValue, tvm::runtime::TVMArgValue, tvm::runtime::TVMArgValue, tvm::runtime::TVMArgValue>(bool (* const&)(tvm::Array<tvm::relay::Type, void> const&, int, tvm::Attrs const&, tvm::relay::TypeReporter const&), tvm::runtime::TVMArgs const&, tvm::runtime::TVMRetValue*, tvm::runtime::TVMArgValue&&, tvm::runtime::TVMArgValue&&, tvm::runtime::TVMArgValue&&, tvm::runtime::TVMArgValue&&) + 95
[bt] (1) 2 libtvm.dylib 0x0000001c439ce7ab tvm::relay::StridedSliceRel(tvm::Array<tvm::relay::Type, void> const&, int, tvm::Attrs const&, tvm::relay::TypeReporter const&) + 3899
[bt] (0) 1 libtvm.dylib 0x0000001c434945c9 dmlc::LogMessageFatal::~LogMessageFatal() + 57
File "/Users/lisiyuan/Codes/deployment/incubator-tvm/src/relay/ir/error.cc", line 133
TVMError:
Error(s) have occurred. The program has been annotated with them:
In `main`:
v0.0.4
fn (%MultipleGridAnchorGenerator/Meshgrid/Shape: Tensor[(1), int32]) {
%0 = strided_slice(%MultipleGridAnchorGenerator/Meshgrid/Shape, begin=[0], end=[0]) an internal invariant was violated while typechecking your program [15:33:24] /Users/lisiyuan/Codes/deployment/incubator-tvm/src/relay/op/tensor/transform.cc:1919: Check failed: begin_v < end_v (0 vs. 0) : strided_slice get empty slice at axis 0
; ;
%1 = full(1, shape=[1], dtype="int32");
%2 = strided_slice(%MultipleGridAnchorGenerator/Meshgrid/Shape, begin=[0], end=[1]);
%3 = (%0, %1, %2);
concatenate(%3)
}
The Tensorflow graph_def in tensorboard like this:
The is the url of the graph_def pb file