使用 MLMultiArray 作为 CoreML 模型的输出
Posted
技术标签:
【中文标题】使用 MLMultiArray 作为 CoreML 模型的输出【英文标题】:Using an MLMultiArray as an Output of a CoreML model 【发布时间】:2020-06-26 06:30:37 【问题描述】:我使用 PyTorch 训练了一个 YOLOv3-SPP 模型。然后我将模型保存为 onnx 格式,然后使用 onnx-coreml 将我的 onnx 模型转换为 CoreML。我似乎无法弄清楚如何使用我的模型,因为输出是 MLMultiArrays。
这是我的输出的样子:
我是机器学习的新手,在尝试使用此模型时不知道从哪里开始。我不知道每个 MultiArray 包含哪些信息,也不知道如何访问它。鉴于我的模型是在 3 个类上训练的对象检测器,谁能告诉我每个 MultiArray 包含哪些信息以及如何访问它?一些带有解释的示例代码会有很长的路要走。如果有人知道我可以简单地将这个模型放入其中进行测试的任何 Github 项目,那也可以。
【问题讨论】:
【参考方案1】:您需要将模型的输出解码为边界框等,就像 PyTorch 模型一样。并非 PyTorch 代码所做的一切都是 Core ML 模型的一部分。
在 *** 上解释这个问题太多了,但我已经在我的博客上写了很多关于这个的文章:https://machinethink.net/blog/
特别是,
https://machinethink.net/blog/object-detection/ https://machinethink.net/blog/yolo-coreml-versus-mps-graph/ https://machinethink.net/blog/object-detection-with-yolo/YOLOv3-SPP 在细节上有所不同,但这应该可以帮助您入门。
【讨论】:
以上是关于使用 MLMultiArray 作为 CoreML 模型的输出的主要内容,如果未能解决你的问题,请参考以下文章
如何在 CoreML 中访问 MLMultiArray 中的元素