gpt4 book ai didi

swift - 将元素添加到 MLMultiArray

转载 作者:行者123 更新时间:2023-11-30 10:28:57 25 4
gpt4 key购买 nike

我有一个 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 的内容。不过,似乎没有任何辅助函数可以做到这一点。

最佳答案

可以使用指针,但必须将原始指针更改为类型指针。例如:

let ptr = UnsafeMutablePointer<Float>(OpaquePointer(multiArray.dataPointer))
ptr[0] = a
ptr[1] = b
ptr[2] = c

关于swift - 将元素添加到 MLMultiArray,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59557768/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com