tensorflow / tflite-micro

Infrastructure to enable deployment of ML models to low-power resource-constrained embedded targets (including microcontrollers and digital signal processors).
Apache License 2.0
1.85k stars 805 forks source link

Can't get fused as a SVDF operator when convert to TFLM #2529

Closed kismeter closed 5 months ago

kismeter commented 6 months ago

There're some models include SVDF implemented, for example create_low_latency_svdf_mode in tensorflow/speech_commands. and also svdf_conv. when using those implemented SVDF layer to build a model then convert to TFLM, the SVDF won't get fused as a SVDF operator, only got {'CONV_2D', 'SUM', 'FULLY_CONNECTED', 'RESHAPE', 'PAD', 'SOFTMAX', 'DEPTHWISE_CONV_2D', 'ADD'}, is there any changes should be done to get fused to SVDF operator? or the SVDF operator is won't support in the future?

rascani commented 6 months ago

There are no plans to remove the SVDF operator. I'm not sure why those examples are no longer getting fused into SVDF, but its possible that other converter passes are preventing that. I'll leave this open to look into further later.

ddavis-2015 commented 5 months ago

@kismeter

This problem has been traced to an issue with TFLiteConverter, and is tracked in the TensorFlow repository as issue #63035.

This issue will now be closed. Please feel free to reopen the issue should you have additional comments.