在 IOS 中切片和重塑 MLMultiArray
Posted
技术标签:
【中文标题】在 IOS 中切片和重塑 MLMultiArray【英文标题】:slice and reshape MLMultiArray in IOS 【发布时间】:2018-10-05 06:04:58 【问题描述】:我有一个 coreML 模型(从 Keras 转换而来),它产生的输出为大小为 (1,40,30,90) 的 MLMultiArray(例如 name : finalOutput)。该数组是通过对维度为 (1,10800,10) 的内部张量进行整形得到的
我无法将 finalOutput multiArray 分成三个维度 (1,40,30,0:45) , ( 1,40,30, 45:54) 和 (1,40,30,54:90)。
然后这些将被重新塑造成三个维度的子数组 (1,10800,5) , (1,10800) 和 (1,10800,4)。
我是 ios 世界中快速编程的新手。我可以在 python 中轻松做到这一点而不会出现问题。
如何在 Swift for iOS 中使用 SLICE 多数组和 RESHAPE 多数组?
感谢您的帮助。
【问题讨论】:
【参考方案1】:在 MLMultiArray 上没有简单的切片和整形方法。也许我们会在 iOS 12 中做这样的事情,但目前你必须使用指针算法来做这种事情。
【讨论】:
是的..我求助于coreml管道并使用它的功能对模型中的张量/数组数据类型执行操作以找到最终答案。【参考方案2】:看看这个example,它使用指针来重塑
【讨论】:
以上是关于在 IOS 中切片和重塑 MLMultiArray的主要内容,如果未能解决你的问题,请参考以下文章
如何在 CoreML 中访问 MLMultiArray 中的元素
在 Swift 中优化 MLMultiArray 上的“嵌套循环”