向MLMultiArray添加元素

问题描述 投票:0回答:1

我有一个CoreML模型(使用TF创建并转换为CoreML)。为此>

input is: MultiArray (Double 1 x 40 x 3)
output is: MultiArray (Double)

我将获得这些[a,b,c]元组,需要先收集其中的40个,然后再发送到模型中进行预测。我正在查看MLMultiArray文档,并被卡住了。可能是因为我刚接触Swift。

我有一个名为modelInput的变量要初始化,然后在元组进入时,将它们添加到modelInput变量中。

modelInput = MLMultiArray(shape:[1,40,3], dataType:MLMultiArrayDataType.double))

此调用后,modelInput.count为120。所以我猜创建一个空数组。

但是现在我想在元组加入时添加它们。我不确定如何执行此操作。为此,我有一个currCount变量,该变量在每次调用后都会更新。但是下面的代码给我一个错误。

"Value of type 'UnsafeMutableRawPointer' has no subscripts"

    var currPtr : UnsafeMutableRawPointer = modelInput.dataPointer + currCount
    currPtr[0] = a
    currPtr[1] = b
    currPtr[2] = c
    currCount = currCount + 3

如何更新multiArray?

我的方法是否正确?这是为预测输入创建多数组的正确方法吗?

我也想打印MLMultiArray的内容。似乎没有任何辅助功能可以做到这一点。

我有一个CoreML模型(使用TF创建并转换为CoreML)。因为它的输入是:MultiArray(Double 1 x 40 x 3)输出是:MultiArray(Double)我将得到这些[a,b,c]元组,需要...

swift coreml
1个回答
0
投票

我知道了。我必须要-->

    modelInput[currCount+0] = NSNumber(floatLiteral: a)
    modelInput[currCount+1] = NSNumber(floatLiteral: b)
    modelInput[currCount+2] = NSNumber(floatLiteral: c)
© www.soinside.com 2019 - 2024. All rights reserved.