I compile a network also use tf dynamic_rnn with TVM.
I meet an another error:
when convert this op in the frontend:
```
name: "rnn_1/gru1/while/TensorArrayWrite/TensorArrayWriteV3"
op: "TensorArrayWriteV3"
input: "rnn_1/gru1/while/TensorArrayWrite/TensorArrayWriteV3/Enter"
input: "rnn_1/gru1/while/Identity"
input: "rnn_1/gru1/while/Select"
input: "rnn_1/gru1/while/Identity_1"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
```
it shows this error:
```
Traceback (most recent call last):
File "/tvm_test_pb.py", line 44, in <module>
mod, params = relay.frontend.from_tensorflow(graph_def, layout=None,
shape=shape_dict)
File "/tvm-2021.8.13/tvm/python/tvm/relay/frontend/tensorflow.py", line 1264,
in from_tensorflow
mod, params = g.from_tensorflow(graph, layout, shape, outputs)
File "/tvm-2021.8.13/tvm/python/tvm/relay/frontend/tensorflow.py", line 659,
in from_tensorflow
func = self._get_relay_func(graph, layout=layout, shape=shape,
outputs=outputs)
File "/tvm-2021.8.13/tvm/python/tvm/relay/frontend/tensorflow.py", line 619,
in _get_relay_func
self._backtrack_construct(node.name)
File "/tvm-2021.8.13/tvm/python/tvm/relay/frontend/tensorflow.py", line 1130,
in _backtrack_construct
node, [], attr, self._control_flow_node_map
File "/tvm-2021.8.13/tvm/python/tvm/relay/frontend/tensorflow.py", line 895,
in _convert_control_flow_operator
op = self._licm_construct(plname, node.input[0])
File "/tvm-2021.8.13/tvm/python/tvm/relay/frontend/tensorflow.py", line 1068,
in _licm_construct
actual_expr = self._backtrack_construct(node_name)
File "/tvm-2021.8.13/tvm/python/tvm/relay/frontend/tensorflow.py", line 1183,
in _backtrack_construct
op = self._convert_operator(node.op, node.name, inputs, attr)
File "/tvm-2021.8.13/tvm/python/tvm/relay/frontend/tensorflow.py", line 1023,
in _convert_operator
sym = convert_map[op_name](inputs, attrs, self._params, self._prelude)
File "/tvm-2021.8.13/tvm/python/tvm/relay/frontend/tensorflow_ops.py", line
1660, in _impl
input_t_shape = _infer_shape(inputs[2], prelude.mod)
File "/tvm-2021.8.13/tvm/python/tvm/relay/frontend/common.py", line 512, in
infer_shape
out_type = infer_type(inputs, mod=mod)
File "/tvm-2021.8.13/tvm/python/tvm/relay/frontend/common.py", line 479, in
infer_type
mod = _transform.InferType()(mod)
File "/tvm-2021.8.13/tvm/python/tvm/ir/transform.py", line 161, in __call__
return _ffi_transform_api.RunPass(self, mod)
File "/tvm-2021.8.13/tvm/python/tvm/_ffi/_ctypes/packed_func.py", line 237,
in __call__
raise get_last_ffi_error()
tvm._ffi.base.TVMError: Traceback (most recent call last):
7: TVMFuncCall
6: std::_Function_handler<void (tvm::runtime::TVMArgs,
tvm::runtime::TVMRetValue*), tvm::runtime::TypedPackedFunc<tvm::IRModule
(tvm::transform::Pass,
tvm::IRModule)>::AssignTypedLambda<tvm::transform::{lambda(tvm::transform::Pass,
tvm::IRModule)#7}>(tvm::transform::{lambda(tvm::transform::Pass,
tvm::IRModule)#7}, std::string)::{lambda(tvm::runtime::TVMArgs const&,
tvm::runtime::TVMRetValue*)#1}>::_M_invoke(std::_Any_data const&,
tvm::runtime::TVMArgs&&, tvm::runtime::TVMRetValue*&&)
5: tvm::transform::Pass::operator()(tvm::IRModule) const
4: tvm::transform::Pass::operator()(tvm::IRModule,
tvm::transform::PassContext const&) const
3: tvm::transform::ModulePassNode::operator()(tvm::IRModule,
tvm::transform::PassContext const&) const
2: std::_Function_handler<void (tvm::runtime::TVMArgs,
tvm::runtime::TVMRetValue*), tvm::runtime::TypedPackedFunc<tvm::IRModule
(tvm::IRModule,
tvm::transform::PassContext)>::AssignTypedLambda<tvm::relay::transform::InferType()::{lambda(tvm::IRModule,
tvm::transform::PassContext
const&)#1}>(tvm::relay::transform::InferType()::{lambda(tvm::IRModule,
tvm::transform::PassContext const&)#1})::{lambda(tvm::runtime::TVMArgs const&,
tvm::runtime::TVMRetValue*)#1}>::_M_invoke(std::_Any_data const&,
tvm::runtime::TVMArgs&&, tvm::runtime::TVMRetValue*&&)
1: tvm::relay::TypeInferencer::Infer(tvm::GlobalVar, tvm::relay::Function)
0: tvm::relay::TypeSolver::Solve()
10: TVMFuncCall
9: std::_Function_handler<void (tvm::runtime::TVMArgs,
tvm::runtime::TVMRetValue*), tvm::runtime::TypedPackedFunc<tvm::IRModule
(tvm::transform::Pass,
tvm::IRModule)>::AssignTypedLambda<tvm::transform::{lambda(tvm::transform::Pass,
tvm::IRModule)#7}>(tvm::transform::{lambda(tvm::transform::Pass,
tvm::IRModule)#7}, std::string)::{lambda(tvm::runtime::TVMArgs const&,
tvm::runtime::TVMRetValue*)#1}>::_M_invoke(std::_Any_data const&,
tvm::runtime::TVMArgs&&, tvm::runtime::TVMRetValue*&&)
8: tvm::transform::Pass::operator()(tvm::IRModule) const
7: tvm::transform::Pass::operator()(tvm::IRModule,
tvm::transform::PassContext const&) const
6: tvm::transform::ModulePassNode::operator()(tvm::IRModule,
tvm::transform::PassContext const&) const
5: std::_Function_handler<void (tvm::runtime::TVMArgs,
tvm::runtime::TVMRetValue*), tvm::runtime::TypedPackedFunc<tvm::IRModule
(tvm::IRModule,
tvm::transform::PassContext)>::AssignTypedLambda<tvm::relay::transform::InferType()::{lambda(tvm::IRModule,
tvm::transform::PassContext
const&)#1}>(tvm::relay::transform::InferType()::{lambda(tvm::IRModule,
tvm::transform::PassContext const&)#1})::{lambda(tvm::runtime::TVMArgs const&,
tvm::runtime::TVMRetValue*)#1}>::_M_invoke(std::_Any_data const&,
tvm::runtime::TVMArgs&&, tvm::runtime::TVMRetValue*&&)
4: tvm::relay::TypeInferencer::Infer(tvm::GlobalVar, tvm::relay::Function)
3: tvm::relay::TypeSolver::Solve()
2: std::_Function_handler<void (tvm::runtime::TVMArgs,
tvm::runtime::TVMRetValue*), tvm::runtime::TypedPackedFunc<bool
(tvm::runtime::Array<tvm::Type, void> const&, int, tvm::Attrs const&,
tvm::TypeReporter const&)>::AssignTypedLambda<bool
(*)(tvm::runtime::Array<tvm::Type, void> const&, int, tvm::Attrs const&,
tvm::TypeReporter const&)>(bool (*)(tvm::runtime::Array<tvm::Type, void>
const&, int, tvm::Attrs const&, tvm::TypeReporter
const&))::{lambda(tvm::runtime::TVMArgs const&,
tvm::runtime::TVMRetValue*)#1}>::_M_invoke(std::_Any_data const&,
tvm::runtime::TVMArgs&&, tvm::runtime::TVMRetValue*&&)
1: bool
tvm::relay::ConcatenateRel<tvm::relay::ConcatenateAttrs>(tvm::runtime::Array<tvm::Type,
void> const&, int, tvm::Attrs const&, tvm::TypeReporter const&)
0: tvm::TensorType tvm::runtime::Downcast<tvm::TensorType,
tvm::Type>(tvm::Type)
File "/tvm-2021.8.13/tvm/src/relay/analysis/type_solver.cc", line 624
TVMError:
---------------------------------------------------------------
An error occurred during the execution of TVM.
For more information, please see: https://tvm.apache.org/docs/errors.html
---------------------------------------------------------------
Check failed: (false) is false: [10:08:17]
/tvm-2021.8.13/tvm/include/tvm/runtime/object.h:886:
---------------------------------------------------------------
An error occurred during the execution of TVM.
For more information, please see: https://tvm.apache.org/docs/errors.html
---------------------------------------------------------------
Check failed: (ref->template IsInstance<typename SubRef::ContainerType>()) is
false: Downcast from TypeCall to relay.TensorType failed.
Process finished with exit code 1
```
---
[Visit
Topic](https://discuss.tvm.apache.org/t/support-for-dynamic-rnn-tensorflow/10647/2)
to respond.
You are receiving this because you enabled mailing list mode.
To unsubscribe from these emails, [click
here](https://discuss.tvm.apache.org/email/unsubscribe/d9316662b0e9fd4baa06f2cfb047d596fc13cf2b525fadbf799f1ff1a8edd044).