Error While Converting TFLite Model to Runnable State
I encounter a similar issue as #1411. I just basicly load a model like:
fn main() -> Result<(), TractError> {
let model = tract_tflite::tflite()
.model_for_path("./static/models/heartbeats.tflite")?
.into_optimized()?
.into_runnable()?;
Ok(())
}
and my error code is:
0: Translating proto-op from Tflite into tract op: Operator {
opcode_index: 0,
inputs: Some(
[
0,
55,
],
),
outputs: Some(
[
60,
],
),
builtin_options_type: SplitVOptions,
builtin_options: SplitVOptions {
num_splits: 1,
},
custom_options: None,
custom_options_format: FLEXBUFFERS,
mutating_variable_inputs: None,
intermediates: None,
}
1: Unsupported: OperatorCode {
deprecated_builtin_code: 102,
custom_code: None,
version: 1,
builtin_code: SPLIT_V,
}, inputs: [
14,128,16,F32,
1,I16🟰 1,I16 1,
]
I guess it's an operator problem?
It is a missing op problem. I'm not sure what the SplitV is meant to be, but it can maybe be remapped to one or more tract existing operators.
Can you share the model ? Or try to figure out what the operator is meant to do ?
Sorry I am not able to share my model. But I am considering to replace SplitV with another operators in my model. This is a raw_op in tensorflow, dose tract have any plan to support more operators like this?
There is no pro-active plan to augment tract support for tflite. PR are always welcome, and I don't mind binding operators myself when a missing tflite op can be re-expressed with tract-core operator set. But there is no test-suite for tf/tflite, so I can only "do" an operator when I'm given something to work against. It can be a full model, but it can also be a simple made-up test case model if that is easier for you.