We converted a Tensorflow image segmentation model to Core ML. We notice that we get different results when running this Core ML model on macOS (with Python3 and coremltools) versus on iOS. Predictions are way less accurate on iOS and we cannot explain why (even when setting computeUnits parameter to .cpuOnly).

Have you tried setting

compute_units=ct.precision.FLOAT32

as described here?

That said, for the CPU compute unit I would expect the predictions to match between iOS and macOS. There could be differences with the “all” compute unit depending on the actual hardware the model runs on Mac and iOS which can be different. If you could file a feedback request with the code to reproduce these differences that you are observing that would be great!

Tagged with: