如何将数组转换为模型输入?

2024-05-14 18:50:04 发布

您现在位置:Python中文网/ 问答频道 /正文

我使用python中的coremltools将用于序列预测的keras神经网络模型转换为mlmodel。你知道吗

该模型需要类似于[1,[2],[3],[4]]的输入,并给出[5]的输出。 我会用python写:

model.predict([1,[2],[3],[4]])

[5]

当我试着用swift做同样的事情时:

let models = model()

var array: [[Int]] = [1,[2],[3],[4]]

print(models.prediction(input: array))

它给了我这个错误:

无法将“[[Int]]”类型的值转换为预期的参数类型“modelInput”

我在家里找不到像我这样的格式化数据的东西,使它在coreml中工作

如果需要,这里有一个建筑的图像:

enter image description here

最后,如何格式化自己的数据以使其与core ml一起工作


Tags: 数据模型类型modelmodels序列神经网络array
2条回答

对于Swift中的单个深度数组,您需要将其设置为:

var array: [Int] = [1,2,3,4]

我不认为是这样,但是如果您试图得到一个数据结构,其中有一个“数组数组”,其中每个嵌套数组都是一个具有单个整数成员的数组,那么它会是这样的:

var array: [[Int]] = [[1], [2], [3], [4]]

您需要将输入数据放入15(!)不同的MLMultiArray对象。你知道吗

第一个MLMultiArray(名为lists)是序列的MLMultiArray。它只需要一个元素。你知道吗

其他14个输入是LSTM隐藏状态变量。你需要明确地传递这些信息。你知道吗

要处理一个数字序列,必须为序列的每个元素运行一次Core ML模型,每次传入当前隐藏状态,并从模型的输出中读取新的隐藏状态。你知道吗

这比在凯拉斯的工作量要大得多。;—)

相关问题 更多 >

    热门问题