Clear Filters
Clear Filters

OCR returns slightly different results on different machines

7 views (last 30 days)
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
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

Sign in to comment.

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.
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?

Sign in to comment.

More Answers (1)

Joss Knight
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.


Find more on Encryption / Cryptography 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!