OCR returns slightly different results on different machines
3 views (last 30 days)
Show older comments
With exactly the same code and the same input image.
Both results are accetable but they are slightly different. What it could be?
The only difference between the two system I can think of is one machine has an GPU and the other does not. Could GPU be a factor?
1 Comment
Nathan Hardenberg
on 8 Jul 2023
I heard of a story where a calculation (not OCR) gave different results on an AMD-maschine than on an intel one. But I can't remember the details
Accepted Answer
Deep
on 9 Jul 2023
GPUs and CPUs can handle floating-point operations differently due to their distinct hardware architectures, potentially leading to minor discrepancies in results. I've seen that variations in CUDA versions can also contribute to this. Furthermore, the precision of computation (like float-16, float-32 or mixed precision) can affect the final output. Minor discrepancies can stack up in tasks involving multiple processing layers.
3 Comments
Deep
on 9 Jul 2023
Yeah, MKL is optimized for Intel processors and takes full advantage of Intel-specific instruction sets. I always see a prompt for it when installing tensorflow/pytorch (one of these), but never bothered to look into it as I have an AMD processor. Was this in response to Nathan's comment?
Walter Roberson
on 9 Jul 2023
I see a recommendation for OpenBLAS; https://mattermodeling.stackexchange.com/questions/1103/since-mkl-is-not-optimized-for-amd-hardware-should-i-use-a-math-library-specifi
More Answers (1)
Joss Knight
on 13 Jul 2023
This is expected for any highly optimized code like this. Even for two Intel machines, the core count will affect how operations are parallelized.
Try calling maxNumCompThreads(1) and see if that fixes it.
0 Comments
See Also
Categories
Find more on GPU Computing in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!