问题标签 [coreml]

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 投票
3 回答
15136 浏览

ios - 将图像转换为 CVPixelBuffer 用于机器学习 Swift

我正在尝试让 Apple 在 2017 年 WWDC 上演示的示例 Core ML 模型正常运行。我正在使用 GoogLeNet 来尝试对图像进行分类(请参阅Apple 机器学习页面)。该模型将 CVPixelBuffer 作为输入。我有一个名为 imageSample.jpg 的图像,用于此演示。我的代码如下:

我总是在输出中收到意外的运行时错误,而不是图像分类。我转换图像的代码如下:

我从以前的 StackOverflow 帖子(此处的最后一个答案)中获得了此代码。我认识到代码可能不正确,但我自己不知道如何做到这一点。我相信这是包含错误的部分。该模型需要以下类型的输入:Image<RGB,224,224>

0 投票
1 回答
1491 浏览

ios - 我们如何在 iOS 11 中使用 CoreML 框架进行手写检测

如何使用CoreML将手写图像转换为文本?

0 投票
2 回答
6400 浏览

objective-c - 如何在ios11上使用视觉框架的Object tracking API?

为什么boundingBox值不正确?

如何找到 ios11 的 vision.framework 的 demo?

0 投票
1 回答
1057 浏览

python - 导入 coremltools 时出错 - 无法导入名称 ParametricSoftPlus

尝试使用 Apple coreML 工具来转换使用 Keras 的简单模型。我正在使用 Python 2.7 运行这行代码:

导入 coremltools

给出以下错误:

从 keras.layers.advanced_activations 导入 ParametricSoftPlus

ImportError:无法导入名称 ParametricSoftPlus

注意:我在脚本中导入 ParametricSoftPlus 没有问题:

从 keras.layers.advanced_activations 导入 ParametricSoftPlus

注意#2:我打开了引发错误的文件,如果我使用上面的相同语句,它会失败并出现相同的错误。

起初我认为这可能是一个权限问题,但如果是这样,那么没有脚本文件能够访问 keras 的 ParametricSoftPlus

注意#3:我可以绕过源文件中的那行代码,然后它给我同样的 SReLU 错误。

非常感谢任何帮助,在此先感谢。

0 投票
7 回答
3402 浏览

swift - 出货后持续训练 CoreML 模型

在查看新的 CoreML API 时,我看不到在生成 .mlmodel 并将其捆绑到您的应用程序后继续训练模型的任何方法。这让我认为我将无法对用户的内容或动作执行机器学习,因为必须事先对模型进行完全训练。

发货后有什么方法可以将训练数据添加到我的训练模型中?

编辑:我刚刚注意到您可以从 URL 初始化生成的模型类,所以也许我可以将新的训练数据发布到我的服务器,重新生成经过训练的模型并将其下载到应用程序中?似乎它会起作用,但这完全破坏了能够在用户数据不离开设备的情况下使用 ML 的隐私方面。

0 投票
2 回答
9691 浏览

swift - 如何在 CoreML 中初始化 MLMultiArray

我有一个包含 40 个数组和 12 个双重特征的数组,所以类型是 [[double]]。目前我正在将此数据发送到 Google Cloud ML API 以获取相关预测。

由于 Apple 最近推出了 CoreML 和 coremltools,我将我的模型从 keras 转换为 .mlmodel 以避免数千次谷歌云 api 调用并直接在我的 iPhone 上进行推理:

将模型添加到我的 Xcode 项目后,它看起来像: 在此处输入图像描述

我不知道这些其他输入和输出是从哪里来的。为了得到预测,我需要将我的 12 个双精度数组转换为 MLMultiArray,但我不知道该怎么做。有没有人遇到过类似的问题?这是我目前未完成的方法:

相关文档可以在这里找到。

0 投票
1 回答
20193 浏览

swift - 如何将 UIImage 转换为 CVPixelBuffer

Apple 的新 CoreML 框架有一个预测功能,它需要一个CVPixelBuffer. 为了分类,UIImage必须在两者之间进行转换。

我从 Apple 工程师那里得到的转换代码:

该解决方案速度很快,适用于灰度图像。必须根据图像类型进行的更改是:

  • 5号线| kCVPixelFormatType_OneComponent8到另一个OSTypekCVPixelFormatType_32ARGBRGB)
  • 8号线| colorSpace到另一个CGColorSpaceCGColorSpaceCreateDeviceRGBRGB)
  • 9号线| bitsPerComponent到内存每个像素的位数(RGB 为 32)
  • 9号线| bitmapInfo到非零CGBitmapInfo属性(kCGBitmapByteOrderDefault是默认值)
0 投票
2 回答
899 浏览

ios - 将 Google 的 SavedModel 转换为 Apple 的 mlmodel

本周,Apple宣布支持经过训练的 ML 模型。

如何将经过训练的 Tensorflow 模型(SavedModel 格式的 Google Cloud 机器学习引擎模型)转换为 Apple Core ML模型(.mlmodel 格式)?

0 投票
1 回答
976 浏览

keras - How to format input data for an conv1d/lstm nn in coreml converted from keras

My keras model with input shape (none, 40 [timesteps], 12 [features]) looks like this:

After converting it to .mlmodel, I add it to my XCodeProject: enter image description here

I then try to do inference and get prediction scores:

But the predictionModel.prediction(input: input) method always fails and throws the following error:

"The model expects input feature lstm_1_h_in to be an array, but the input is of type 0."

So hidden states of the lstm layers need to be initialized. I don't know if this behavior is expected, since I never faced the same problem before. Neither while doing inference in keras itself or with google cloud ml. I also don't know the initial values, which are usually chosen for inference. Maybe just arrays of zeros? Did anyone face a similar problem?

The .mlmodel file could be found here.

0 投票
3 回答
1650 浏览

ubuntu - 在 Ubuntu 上将 Keras 模型转换为 CoreML

是否可以在 Ubuntu 上将 Keras 模型转换为 Apple 的 CoreML?

是否需要 OSX 才能运行将训练模型转换为 Core ML页面中的脚本