Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
操作系统:macos Catalina 10.15.2 xcode:11.3 coreml3.0
我将相同的模型输入提供给相同的 mlmodel。但是使用 cpu 设备和 gpu 设备的推理结果是不同的。
结果如下,左边文件是使用cpu的推理结果(第二列),右边文件是使用CpuAndGpu的推理结果(第二列)。我用beyond compare来比较两个文件,红色标注的数据就是区别。
有谁知道这个问题以及如何解决它?
在此处输入图像描述
这本身不是问题。在 GPU 上使用 16 位浮点数,而在 CPU 上使用 32 位浮点数。16 位浮点数的精度较低,这解释了您得到的不同结果。
有些数字会稍大,有些会稍小,但通常这些影响会抵消,您不会注意到差异。
(但是,如果您的模型生成图像,您可能会注意到 16 位浮点数提供的较低精度造成的像素伪影。)