问题标签 [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.
tensorflow - CoreMLTools 转换为 MLModel:reName_Feature 不起作用
问题:CoreMLTools reName_feature 不更新模型中的特征名称,仅在模型的“规范”中!
我为图像分类问题创建了一个顺序 Tensorflow 模型。最初,在转换时(根据 Apple 文档):
生成了一个 MLModel,它有一个名为“conv2d_3_input”的输入,是一个 MultiArray (Float33.1x299x299x1) 和一个名为“Identity”的输出,它也是 Float32 的 MultiArray
幸运的是,位于https://coremltools.readme.io/docs/introductory-quickstart#download-the-model的快速入门文档 阐明了输入类型的修复需要向 ImageType 添加形状 arg:
所以现在生成的 MLModel 有一个 Image (Grayscale 299 x 299) 的输入类型(太棒了!),但它仍然被称为“conv2d_3_input”
对于样式点,我想将输入特征重命名为“图像”。转换函数(上图)的名称参数无效。接下来我尝试直接更改模型的规格:
这会正确更改规范中的输入名称:
但是,这显然不会将更改推入模型!这是 mlmodel 的清单:
如何将功能名称的更改推送到实际的 mlmodel 中?
ios - 如何估计 CoreML 模型的最大运行时占用空间(以兆字节为单位)
假设我有一个在TensorFlow
/ Keras
/ Caffe
etc中制作的网络模型。我可以使用CoreML Converters
API从中获取CoreML模型文件(.mlmodel
)。
现在,因为我有一个.mlmodel
文件,并且知道input shape
并且output shape
,如何估计最大 RAM 占用空间?我知道一个模型可以有很多层,它们的大小可以比输入/输出形状大得多。
所以问题是:
mlmodel
在不编译和运行应用程序的情况下,是否可以通过某些公式/API 知道最大内存占用?- 最大占用空间更接近最大中间层的内存大小,还是更接近所有层大小的总和?
任何建议表示赞赏。由于我是 CoreML 的新手,您可以提供任何反馈,如果需要,我会尝试改进问题。
swift - MlModel 预测返回 nil
我将 ONNX 模型转换为 mlmodel,但无法使用预测功能。这是我的模型的输入和输出:[在此处输入图像描述][1] [1]:https://i.stack.imgur.com/6mY4H.png
我正在初始化模型和输入,如下所示:
我用这样的运动数据填充向量:
我尝试执行预测:
我收到此错误消息:
有人可以帮忙吗?
python - 将 .caffemodel 转换为 .mlmodel 失败
在尝试将 caffemodel 转换为 mlmodel 时,我无法运行我的 converter-script.py,这是我的 converter-script.py 文件:
我使用带有 python 2.7 的 virtualenv 运行它,我收到以下错误消息:
文件“convert-script.py”,第 1 行,导入 coremltools 文件“/Users/aji/Documents/Environments/python27/lib/python2.7/site-packages/coremltools/init .py ”,第 28 行,_root_logger_handlers_backup = _root_logger.handlers.copy() AttributeError: 'list' 对象没有属性 'copy'
任何人都可以给我解决方案吗?
ios - 图像识别的 CoreML 模型预测仅适用于 iPhone 11 和 12 模型
我在 Create ML 应用程序中创建了一个图像识别 .mlmodel 文件。我现在在 iOS 应用程序中使用它。
它在 iPhone 11 和 iPhone 12(以及相应的机型)上运行良好,但在 iPhone 8、iPhone 8 Plus 和 iPhone X 上运行良好。可能还有其他机型无法运行,但到目前为止我可以确认这些机型。
我正在使用的代码是:
在这不起作用的模型上,控制台中打印的错误是:
Error Domain=com.apple.CoreML Code=1 "Predicted feature named 'classLabel' was not output by pipeline" UserInfo={NSLocalizedDescription=Predicted feature named 'classLabel' was not output by pipeline}
由于缺乏有关 CoreML 的文档,我无法找到有关此错误的可靠跟踪。SO上有一些随机帖子,Turicreate Github(Core ML 运行的底层 Python 库)上也有 Git 问题,但似乎没有任何东西可以直接回答这个问题。
任何帮助将不胜感激。谢谢!
根据这篇 Apple Developer 论坛帖子,配备 A7 处理器的设备与之前的设备之间可能存在一些差异。它有可能默默地失败吗?
https://developer.apple.com/forums/thread/93105
在 ML 模型的输出类中,有几行代码如下:
这是在模拟器上构建时发生的自动生成的文件中,因此即使在文本编辑器中编辑文件也会在每次构建时被覆盖。我认为,如果可能的话,输出模型的输出可能会有所帮助,以查看它实际返回的内容。
我已将其追踪到功能:
在 MLModel.h 的 MLModel 类声明中。这是引发错误的地方;到目前为止,我已经记录了输入数据,这是引发错误的函数,因此它来自框架本身。
ios - 使用 coremltools 3 将 TF 2.* keras 模型转换为 iOS 12 的 mlmodel
我有一个keras
模型 ( TF 2.*
),我想将其转换为mlmodel
iOS 版本 12。
根据coremltools 4
发行说明:“要将 Core ML 模型部署到 iOS12、macOS 10.13、watchOS 5、tvOS 12 或更早版本的目标,请使用 coremltools 3 和 tfcoreml 1。”
tfcoreml
仅适用于TF 1.*
,所以我知道我需要使用coremltools version 3.*
.
我正在尝试coremltools version 3.2
,我想使用这个功能[coremltools.converters.keras.convert][2]
。
我从一个简单的尝试开始,使用带有coremltools==3.2
, tensorflow==2.4.1
,的新鲜 venv keras==2.4.3
:
但我收到以下错误:
我试图改变功能部分,从:
至
并收到错误:
TypeError: 'InputLayer' object is not iterable
第二次尝试是使用第一个 TF 2.* 版本:tensorflow==2.0.0
和keras==2.3.0
.
我执行相同但收到:
我该如何解决?
谢谢
ios - Swift 中的 CGImage 到 CVPixelBuffer
我有一个像这样创建的图像:
现在我想将其转换为CVPixelBuffer
.
我检查了多种解决方案。似乎它们已经过时了。
例如:
不编译,因为:
我也尝试使用这个功能:https ://github.com/hollance/CoreMLHelpers/blob/master/CoreMLHelpers/CGImage%2BCVPixelBuffer.swift
但我收到:
我该如何解决?
谢谢
xamarin.ios - Xamarin IOS CoreML 模型更改多路器 (posenet)
我正在使用 Xamarin IOS,我需要按照此处的说明更改此CoreML MLModel 的“乘数”值
“建议在移动设备上使用乘数为 0.50 的模型。” https://github.com/tensorflow/tfjs-models/tree/master/posenet
我目前使用的模型有一个0.75 倍数(太慢),我一直在尝试转换和修改模型上的这个属性但是,Xamarin IOS 中不存在该属性,模型只是有一个 GetPrediction 方法就是这样!
对于 Javascript,您似乎可以根据需要设置属性,如下所示,但我需要的只是 Posenet 作为倍数为 0.5 的 .MLModel 文件。
//下面的代码不能使用 Xamarin IOS,模型唯一的属性是 bool 'RunOnGPUAndCpu'和方法'GetPrediction'
我试图转换一个 Tensorflow 模型,但没有成功!
swift - 在 Swift 中优化 MLMultiArray 上的“嵌套 for 循环”
我有一个嵌套的 for 循环(从这里开始)
heatmaps
是形状为 (14, 50, 60) 的 MLMultiArray。此代码迭代 14 个形状 (50,60) 的子数组,并找到每个值的最大值。
这是代码:
等效的python代码:
Swift 函数在 iPhone 12 mini 上大约需要 36 毫秒,在 iPhone 11 Pro Max 上大约需要 58 毫秒。我想优化它并减少它的运行时间。
我该怎么做?
如果我用 Objective-C 编写代码会有帮助吗?怎么做到呢?
谢谢
machine-learning - 保存机器学习模型以用于新数据
当我想通过这段代码保存我的模型时:
"" # 将模型保存到磁盘 filename = 'finalized_model.sav' pickle.dump(model, open(filename, 'wb')) ""
我收到此错误:
"""TypeError: cannot pickle '_thread.RLock' object"""
这意味着我使用 pickle 来腌制对象,但我再次收到错误。谁能告诉我这是什么原因?