Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

TensorFlow Lite Operator Support Query #1559

Open
mtobin-tdab opened this issue Oct 16, 2024 · 1 comment
Open

TensorFlow Lite Operator Support Query #1559

mtobin-tdab opened this issue Oct 16, 2024 · 1 comment

Comments

@mtobin-tdab
Copy link

Hello!

I’ve been working with TensorFlow Lite models in tract and have come across a model which cannot be loaded. I've compared the operators used in themodel with those mentioned in the README for TFLite support and have identified the following operators from my model and was wondering if you could confirm which (if not all) are not currently supported by Tract:

DELEGATE
BATCH_MATMUL
VAR_HANDLE
READ_VARIABLE
CALL_ONCE
MAX_POOL_2D
If any of these operators have aliases or are supported in a beta release, I’d appreciate the clarification. I’m trying to determine if any unsupported operators are preventing my model from running properly with Tract.

Thanks in advance for your time and any insights you can provide!

@kali
Copy link
Collaborator

kali commented Oct 16, 2024

Hello, thanks for your interest in tract :)

In this list, MAX_POOL_2D and BATCH_MATMUL should be easy, as their semantics are already well represented in tract-core, so it is probably just a matter of translating/mapping/plugging stuff together.

The other ops are more worrisome. VAR_HANDLE and READ_VARIABLE seem to deal with variables. We have some support for variable and state in tract, but I don't know if their semantics will match tflite.

I can just guess what DELEGATE and CALL_ONCE are supposed to do :) DELEGATE is particularly scary as it hints at some kind of callback/extension point.

As you may have noticed, tflite is not a big priority for us, there is no active development on this binding. I would find the time to bind MAX_POOL_2D and BATCH_MATMUL if it helps, but I will not invest serious time sorting out the rest. I would of course help somebody trying to figure out what's needed and contributing support for these extra ops assuming it does not require a massive refactor in tract.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants