问题标签 [mlmodel]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
machine-learning - 将 Pytorch 图像分类器转换为 mlmodel 时出现问题:无论 img 如何,都返回相同的 softmax 输出
我使用 pytorch 训练和测试了一个图像分类器(Resnet34、Fast.ai、3 类),并按learn.predict()
预期工作。当我转换 pytorch -> onnx -> mlmodel 时,无论我提交的图像如何,它都会预测相同的 softmax 值。
这是我的 pytorch 模型:
要将其转换为 .onnx,我需要先对图像数据进行归一化并将其展平。我找到了这个教程,它适用于 fastai/onnx-coreml 的早期版本。我用以下课程做到这一点:
为了构建整个模型,我将 ImageScale 层、模型和 softmax 函数连接起来,如下所示:
最终看起来像这样:
我像这样转换为 .onnx:
我像这样从 .onnx 转换为 .mlmodel :
当我使用 coremltools 调用 predict 时,无论我输入什么图像,我都会得到相同的输出:
可能的问题: 1. 在转换之前我没有正确设置 Sequential 2. Coreml 或 onnx 无法处理非方形图像
我尝试了一堆不同的输入,但一直得到相同的,所以任何帮助将不胜感激!
这是netron的我的头部和尾部的屏幕截图:
头:
尾巴:
xcode - 机器学习模型错误预测
我有一个来自 create ML 的机器学习分类器。该模型使用 3400 个样本进行训练,总体而言其准确度令人印象深刻。然而,该模型经常做出错误的预测,我似乎无法弄清楚如何将其添加到模型中,因此它对其中一些错误预测没有如此高的信心。我如何/我可以用这个分类错误的新数据重新训练模型,它不属于这个分类?我应该创建一个新的分类文件夹并向其中添加这些错误的分类,还是有办法训练模型以作为非分类类型传入,以便尝试理解它们之间的区别?
iphone - 艺术品识别器 - Xcode CoreML .mlmodel 不准确
我正在尝试编辑 Apple Flower 识别器示例以识别艺术品/绘画。它实际上工作得很好。每次我将相机对准我之前训练的艺术品时,它总是准确的。问题是,例如,当我指向我的桌子时,它显示出 > 98% 的置信度......或者几乎在我指向的任何地方(不是艺术品上)它显示匹配。
苹果示例:https ://developer.apple.com/documentation/vision/training_a_create_ml_model_to_classify_flowers
我做错了什么?
swift - 如何从另一个类访问 ViewController 的类函数?
我在 ViewController 类中有这个功能:
我正在尝试使用 result.first?.identifier 在另一个名为 SecondViewController 的类中执行类似的操作:
但我不知道如何访问其他类中的函数。我刚开始用 Swift 编码。
swift - iOS 人脸识别持续学习
我的任务是找到在具有机器学习的应用程序上创建面部识别功能的最佳方法。此功能将用于将员工打卡到应用程序中。该功能将支持...
每个设备多个用户。
持续训练(因此当 mlmodel 识别出某人时,它会将新图像发送到后端的模型,并使用最近拍摄的新图像训练模型)
更新新课程(当新用户出现并想要使用该应用程序时,该应用程序将为他们拍照,将这些图像发送到后端的模型训练程序,该程序将训练 mlmodel 以识别新用户)
- 将新更新的模型发送到同一家商店的其他设备,以便他们也能识别员工
我试过的。
我已经修改了设备上的培训和 Knn。但据我了解,设备上的训练对此不起作用,因为设备上的训练模型最多只能有 10 个类,而 knn 并没有给出非常准确的结果......
使用 createML 进行手动训练和重新训练。这时候我...
- 在我的 Mac 上使用 createML 训练模型
- 使用 URLSession 将模型下载到应用程序
- 使用应用程序添加新用户或更新旧用户的照片
- 将新用户/更新的旧用户的图像发送到我的 Mac 上的 createML
- 用我曾经为所有用户拍摄的所有图像创建一个全新的模型
- 永远重复步骤 2-5
这工作得很好,但是对于应用程序将拥有的最终用户数量来说,它是令人难以置信的昂贵、耗时和不可行的,一遍又一遍地做。
我对机器学习还是很陌生,我觉得我做错了。我只是想看看是否有人知道更好/更有效的持续学习方法,这样模型就会记住它以前学到的东西,我可以用 createML 向它添加新的类或图像......或者如果有人可以指出我在正确的方向。
swift - 在 Swift 中从 URL 下载并保存文件
我试着...
从服务器下载文件(MLModel)
将该文件保存到设备
重新启动应用程序
使用保存文件的 URL(路径)来访问下载的文件。所以我不必在每次应用程序启动时重新下载它
让下载 = URLSession.shared.downloadTask(with: url) { (urlOrNil, response, error) in
据我了解,这是将我的 MLModel 保存到“permanentUrl”。所以我重新启动应用程序,我不再运行 downloadTask(因为应该保存 MLModel?),我尝试使用此代码访问我复制到 PermanentURL 的 MLModel
我得到这个错误
file:///var/mobile/Containers/Data/Application/659B2FEE-4384-4BBE-97D1-B1575BF1EB3B/Library/Application 귑ీƢupport/CFNetworkDownload_v3EpLD.mlmodelc 不存在” UserInfo={NSLocalizedDescription=file:///var/ mobile/Containers/Data/Application/659B2FEE-4384-4BBE-97D1-B1575BF1EB3B/Library/Application 귑ీƢupport/CFNetworkDownload_v3EpLD.mlmodelc 不存在}:file:///var/mobile/Containers/Data/Application/659B2FEE-4384 -4BBE-97D1-B1575BF1EB3B/Library/Application 귑ీƢupport/CFNetworkDownload_v3EpLD.mlmodelc 不存在
所以我猜 MLModel 没有保存?我在这里想念什么?我假设我用 downloadTask 保存了 MLModel,我只是没有以正确的方式检索它。如何访问我保存的文件?
xcode - coreml 推理结果与 cpu 和 gpu 不同
操作系统:macos Catalina 10.15.2
xcode:11.3
coreml3.0
我将相同的模型输入提供给相同的 mlmodel。但是使用 cpu 设备和 gpu 设备的推理结果是不同的。
结果如下,左边文件是使用cpu的推理结果(第二列),右边文件是使用CpuAndGpu的推理结果(第二列)。我用beyond compare来比较两个文件,红色标注的数据就是区别。
有谁知道这个问题以及如何解决它?
swift - CoreML 推理时间是否会随着迭代而增长?
我必须在 Swift 中测量我的 ML 模型的推理时间。为此,我想多次执行推理,然后平均所有推理时间以获得更精确的值。我注意到推理时间随着迭代而增长。我一定做错了什么,我不熟悉 Swift:
这是我的代码片段:
正常吗?知道如果不是吗?提前致谢!
python - 将 tensorflow .pb 模型转换为 .mlmodel 时出错
我正在尝试将张量流图(.pb 文件)转换为.mlmodel
但我收到以下错误:
/usr/local/lib/python3.6/dist-packages/coremltools/converters/nnssa/frontend/tensorflow/graphdef_to_ssa.py in load_tf_graph(graph_file)
---> 23 graph_def.ParseFromString(f.read())
DecodeError:解析消息时出错
有人可以帮忙吗?
这是colab 项目,我在其中附加了 tensorflow 模型和相关的转换代码
https://colab.research.google.com/drive/1S7nf7pnX15UuswFZaTih5pHhfDFwG5Xa