-
Notifications
You must be signed in to change notification settings - Fork 1.9k
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
Different Model Outputs on Android vs. iOS with tfjs #8342
Comments
I have same problem on all devices based on Samsung Exynos chipset platforms and i reproduce same problem on POCO c40, on snapdragon or ios device it's work as expected. Project run on angular with converted models on tfjs 4.17.0...
|
I downgrade libs to 3.3.0 version and it works! on version 3.11.0 still problem. Version between 3.3.0 and 3.11.0 i didn't check |
Hi, @ertan95, @oleksandr-ravin I apologize for the delayed response and thank you for bringing this issue to our attention with valuable analysis and insights, if possible could you please help us with your Github repo along with comprehensive steps to reproduce the same behavior from our end to investigate this behavior further ? Thank you for your cooperation and patience. |
Hi @gaikwadrahul8 for my models "outputs": [ i finished test all version and 3.3.0 it's latest version witch give me correct values, need find wath change frome 3.3.0 to 3.4.0. if i understand correct it's problem on hardware translations and calculations other phone didn't have this truble. |
I will have a look at this one. A downgrade is not the best option for me due to other dependencies, but I will give it a try thanks for the solution! |
Well I've described the steps to reproduce in my initial post. Basically train a MobileNetV3 and test it on ios and android with the same image you will get different outputs. |
Hi, @ertan95, @oleksandr-ravin, @gaikwadrahul8 I also have same problem.
considering these test result, I guess there're some incompatible points between webgl backend and some Exynos version, |
Had similar issues on some Samsung devices. Exynos or not did not seem to be the deciding factor. Some Exynos processors work. Some don´t. A55 does not work A54 does work. Both are using Exynos branded chips. It depends on the exact chip. Changing the version of tfjs did not help at all. Ended up converting the model to onnx and using onnx runtime web instead of tfjs and that works out great on all devices so far. I would hope that even if that one fails on some devices too (did not happen yet) that then tfjs would work. So I can have one of the two runtimes work to cover all devices. |
I am experiencing a significant discrepancy in the logits and probabilities output when running the same TensorFlow.js model on Android and iOS. The model, a self-trained MobileNetV3 (large) from PyTorch, performs as expected on iOS and in a PyTorch Jupyter Notebook but produces different results on Android. I convert the model from PyTorch to ONNX and then to TensorFlow.js.
To troubleshoot, I saved the preprocessed tensor from Android and used it on iOS, where it worked correctly. Conversely, the iOS tensor failed on Android. This rules out preprocessing issues, suggesting either improper weight handling on Android or an issue with the predict function.
System information
Snippet from my package.json:
Describe the current behavior
The model outputs consistent and expected results on iOS and in the Jupyter Notebook but produces different and incorrect results on Android.
Describe the expected behavior
The model should produce consistent logits and probabilities across all platforms, including Android, as it does on iOS and in the PyTorch Jupyter Notebook.
Standalone code to reproduce the issue
Other info / logs Include any logs or source code that would be helpful to
diagnose the problem. If including tracebacks, please include the full
traceback. Large logs and files should be attached.
prediction_ios.json
prediction_ios_with_android_tensor.json
prediction_android.json
prediction_android_with_ios_tensor.json
The text was updated successfully, but these errors were encountered: