问题标签 [coremltools]

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.

0 投票
1 回答
928 浏览

ios - 使用 iOS 11 mlmodel 进行图像分类 - 使用 coremltools 和经过训练的 .caffemodel 转换问题

似乎我在使用coremltool和训练有素的 .caffemodel 时遇到了一些转换问题。我能够训练和测试caffe狗模型(120 个类别,20k 张图像),并且它通过了我的直接caffe分类测试。不幸的是,在转换为mlmodel它之后,我并没有对相同的输入做出有效的预测。

培训模式

该模型已经使用 Caffe、GoogleNet、包含 120 个类别的 20k 图像集和大约 500k 次迭代进行了训练。我已经准备好图像数据库和所有其他的,并将所有文件放在一起

分类与caffe

分类示例caffe. 当我尝试对受过训练的人运行分类请求时caffemodel- 它的效果很好,概率很高(80-99%),结果正确:

在此处输入图像描述

分类与Apple iOS 11 CoreML

不幸的是,当我尝试将这个DTDogs.caffemodel&打包deploy.txt到 Apple iOS 11 可使用的 .mlmodel 中时,CoreML我得到了不同的预测结果。实际上,加载和使用模型没有错误,但我无法获得有效的分类,所有的预测都是 0-15% 的置信度并且有错误的标签。为了正确测试它,我使用了与用于直接分类的完全相同的图像caffe

在此处输入图像描述

我还从这里用我的 iOS 应用程序尝试了预训练和预打包的模型——它们工作得很好,所以这似乎是打包过程的问题。

我错过了什么?


以下是分类示例caffe:没有问题,正确答案 ( python):


这是DTDogs.mlmodel使用coremltools. 我看到生成的.mlmodel文件比原始文件小两倍,但它可能是( ).caffemodel的某种存档或压缩优化:coremltoolspython


DTDogs.mlmodel这是在应用程序中使用的示例。我正在使用常规图像选择器来选择用于.caffe分类测试 ( swift) 的相同图像:

0 投票
2 回答
952 浏览

caffe - 使用 coremltools 将 caffe 模型转换为 CoreML 会导致预测不一致

我已经使用 Caffe 和 NVIDIA 的 DIGITS 训练了一个模型。在 DIGITS 上对以下图像进行测试,结果如下: 在此处输入图像描述 在此处输入图像描述 在此处输入图像描述 在此处输入图像描述

当我从 DIGITS 下载模型时,我得到snapshot_iter_24240.caffemodeldeploy.prototxt,mean.binaryprotolabels.txt. (而且solver.prototxttrain_val.prototxt认为不相关)

coremltools用来将 caffemodel 转换为 mlmodel,运行以下命令:import coremltools

代码输出以下内容:

大约 45 秒后food.mlmodel生成。我使用 Xcode 9.0 beta 3 (9M174d) 将它导入到 iOS 项目中,并在单个视图 iOS 项目中运行以下代码。// // ViewController.swift // SeeFood // // 由 Reza Shirazian 于 2017 年 7 月 23 日创建。// 版权所有 © 2017 Reza Shirazian。版权所有。//

输出以下内容:

这完全不符合模型在 DIGITS 上的表现。我不确定我做错了什么,或者我是否错过了一步。我尝试在没有的情况下创建模型,mean.binaryproto但这没有任何区别。

如果这里有帮助的话deploy.prototxt

0 投票
1 回答
566 浏览

python - scikit-learn:将多输出决策树转换为 CoreML 模型

我有一个训练有素的 scikit-learn 模型,它使用多输出决策树(作为 a RandomForestRegressor)。没有明确对随机森林回归模型进行自定义配置以启用多输出行为,因为内置了多输出行为。基本上,只要将多输出训练数据拟合到模型中,模型就会在幕后切换到多输出模式。

此外,它RandomForestRegressor是 CoreML 转换脚本提供的受支持的转换器。但是,在转换过程中,我收到了带有堆栈跟踪的此错误:

ValueError:预计 scikit-learn 树中只有 1 个输出。

简单的转换代码如下:

我可以做些什么来启用 CoreML 转换脚本来处理多输出决策树?我可以对现有脚本进行更改,而无需完全重新发明轮子吗?

0 投票
1 回答
1404 浏览

machine-learning - 如何训练 ML 模型?

正如您现在所看到的,Apple在今年的. 该框架以特定格式使用已训练的 ML 模型,如果您的源模型不匹配,您可以转换该模型。还可以在此处下载和直接集成一些已经训练好的 ML 模型。Core MLiOS 11WWDCApple

另一方面,他们也提到你可以使用或WWDC 2017之类的工具来训练模型。CaffeKeras

我想训练一个比已经训练和提供的模型具有更具体目的的模型Apple,看起来很通用。但我不是 ML 专家,我希望能以此为起点。

我在哪里可以找到可以训练的模型?然后,我该如何训练他们?我正在为此寻找一些帖子或教程,但没有成功。我读过一些类似这样的帖子,但它没有提供我需要的指导方针。

0 投票
2 回答
894 浏览

caffe - 无法将 Caffe 模型转换为 Core ML 模型

当我尝试使用 coremltools 将模型从 Caffe 转换为 Core ML 模型时,我得到以下信息:

这是我正在使用的代码:

任何想法是什么问题?非常感谢!

0 投票
1 回答
524 浏览

python - 使用 CoreML 模型对图像进行分类时出错

我正在尝试使用 CoreML 工具将 Keras 模型转换为 coreml,但我在预测时出错。首先我转换了模型:

转换运行良好。然后我加载了模型:

和图像:

但是当我试图预测时:

我收到一个错误:

我尝试按照 WWDC 中“Core ML in depth”会议的步骤进行操作……有人知道出了什么问题吗?

0 投票
1 回答
1157 浏览

tensorflow - Keras + Tensorflow 模型转换为 coreml 退出 NameError: global name ... is not defined

我已经改编了 keras 网站上的 VAE 示例来训练我的数据,并且一切运行良好。但我无法转换为 coreml。错误是:

由于在 python 源代码中明确定义了 batch_size,我猜它与转换工具如何捕获变量名有关。有谁知道我可以如何修复它(或者它是否确实可以修复)?

非常感谢,

J。

0 投票
2 回答
639 浏览

tensorflow - CoreMLTools Keras 简单顺序线性回归模型导出错误(“模块”对象没有属性“mobilenet”)

我使用 Keras 2.0.4(TensorFlow 1.1.0 后端)创建了一个非常简单的序列线性回归模型,并且我的 coremltools(0.6.3)导出失败并显示以下错误消息:

-------------------------------------------------- ------------------------- AttributeError Traceback (最近一次调用最后一次) in () ----> 1 coreml_model = coremltools.converters.keras。转换(模型,输入名称=“输入”,输出名称=“输出”)/Users/Jacopo/anaconda/envs/KerasTensorFlowCoreML/lib/python2.7/site-packages/coremltools/converters/keras/_keras_converter.pyc 在转换(模型, input_names, output_names, image_input_names, is_bgr, red_bias, green_bias, blue_bias, gray_bias, image_scale, class_labels, predicted_feature_name, predicted_probabilities_output) 489 predict_probabilities_output = predict_probabilities_output) 490 elif _HAS_KERAS2_TF: --> 491 来自 . 导入 _keras2_converter 492 返回 _keras2_converter._convert(模型 = 模型,493 input_names = input_names,

我在 macOS 上使用 Python 2.7

如前所述,这是一个非常简单的线性回归,模块根本没有图像输入。

有什么提示吗?

谢谢,雅各布

0 投票
2 回答
128 浏览

coreml - 斯坦福数据集到 CoreML

我有一个数据集,从链接下载。我知道coremltool(由Apple创建)。

问题是: 是否有可能斯坦福转换datasetCoreML? 如果是 - 有人可以给我指示吗?

提前致谢 !

0 投票
1 回答
473 浏览

python - LSTM (Core ML) 处理序列

我已经通过 coremltools 将带有 LSTM 的 Caffe 模型转换为 CoreML。现在我正在尝试执行它。但是,我找不到处理整个序列的方法

因为我找不到仅设置隐藏状态(LSTM_1_c_in)和初始历史记录(LSTM_1_h_in)的初始值并在处理下一项序列时自动使用先前状态/结果的方法。

它通过手动重新启动方法“预测”来工作,并从以前的输出中手动设置LSTM_1_c_inLSTM_1_h_in (模型分别重新启动LSTM_1_h_outLSTM_1_c_out)。

是否可以通过 1 次运行处理整个序列?

使用 Swift 的 PS 方式也是可以接受的。