OCR returns slightly different results on different machines
4 次查看(过去 30 天)
显示 更早的评论
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 个评论
Nathan Hardenberg
2023-7-8
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
采纳的回答
Deep
2023-7-9
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 个评论
Deep
2023-7-9
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
2023-7-9
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
更多回答(1 个)
Joss Knight
2023-7-13
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 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 GPU Computing 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!