OCR returns slightly different results on different machines

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 个评论

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

请先登录,再进行评论。

 采纳的回答

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 个评论

AMD and Intel machines have different high-performance vectorized machine instructions, so the Math Kernel Library (MKL) for AMD is not the same binary as for Intel, so high performance libraries will not necessarily get exactly the same result.
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?

请先登录,再进行评论。

更多回答(1 个)

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.

类别

帮助中心File Exchange 中查找有关 Language Support 的更多信息

产品

版本

R2023a

标签

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by