【发布时间】:2022-04-15 21:55:05
【问题描述】:
我正在开发一个机器学习应用程序,用于对手绘数字进行分类。我使用 CreateML 制作了一个模型,该模型据称具有 100% 的准确度(我承认我的样本量仅为每个数字大约 50 张图像)。但是,在我的应用程序上运行它时,它不起作用。为了查看这是否是我的应用程序的问题,我下载了Apple Vision+CoreML Example Xcode 项目并用我自己的替换了 MobileNet 分类器。我从自己的应用程序加载了保存在手机上的图像,但分类仍然不准确。有趣的是,我尝试在操场上的 CreateML UI 空间中测试完全相同的图像,您可以在其中测试图像和分类工作。
TL/DR:图像分类适用于 Playground 上的 CreateML Live View,但不适用于 Apple 的 vision+coreML 示例项目的精确副本。
Here is an example of an image that I tried to classify
Here is what shows up on the app for 7, Here is what shows up on the app for 5
Here is what shows up on the playground for 7, Here is what shows up on the playground for 5
【问题讨论】:
-
在 Playground 中构建模型时,您是否将数据分成大约 2/3 的训练数据和 1/3 的测试数据?
-
@dktaylor 是的,我做到了,该模型在 UI 上也适用于训练/测试中未使用的其他新图像
-
我最好的猜测是图像的裁剪不同。我很确定 Apple 视觉示例对传入的图像进行了中心裁剪
-
@dktaylor Apple 确实运行了这行代码
request.imageCropAndScaleOption = .centerCrop,但我尝试将其注释掉,结果相同。 -
您训练模型的图像与您在应用程序中使用的图像(图像大小、颜色等)有何不同?如果您在应用程序中使用其中一张训练图像,它会起作用吗?
标签: ios swift coreml apple-vision createml