我有一个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的内容。似乎没有任何辅助功能可以做到这一点。
答案 0 :(得分:0)
我知道了。我必须-
modelInput[currCount+0] = NSNumber(floatLiteral: a)
modelInput[currCount+1] = NSNumber(floatLiteral: b)
modelInput[currCount+2] = NSNumber(floatLiteral: c)
我不能使用原始指针访问元素。