操作系统系统: macos Catalina 10.15.2
xcode: 11.3
coreml3.0
我将相同的模型输入给同一个mlmodel。但是使用cpu设备和gpu设备的推理结果是不同的。
结果如下:左文件是使用cpu的推理结果(第二列),右文件是使用CpuAndGpu的推理结果(第二列)。我使用“超越比较”来比较这两个文件,用红色标记的数据是不同的。
有人知道这个问题以及如何解决吗?
发布于 2020-01-21 13:45:24
这本身并不是一个问题。在GPU上,使用16位浮点数,在CPU上使用32位浮点数.16位浮标的精度较低,这就解释了你得到的不同结果。
有些数字会稍微大一些,有些会稍微小一些,但是通常这些效果会抵消掉,你不会注意到差异。
(但是,如果您的模型生成图像,您可能会注意到16位浮点数提供的精度较低的像素伪影。)
https://stackoverflow.com/questions/59841891
复制