我使用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中工作
如果需要,这里有一个建筑的图像:
最后,如何格式化自己的数据以使其与core ml一起工作
对于Swift中的单个深度数组,您需要将其设置为:
我不认为是这样,但是如果您试图得到一个数据结构,其中有一个“数组数组”,其中每个嵌套数组都是一个具有单个整数成员的数组,那么它会是这样的:
您需要将输入数据放入15(!)不同的
MLMultiArray
对象。你知道吗第一个MLMultiArray(名为
lists
)是序列的MLMultiArray。它只需要一个元素。你知道吗其他14个输入是LSTM隐藏状态变量。你需要明确地传递这些信息。你知道吗
要处理一个数字序列,必须为序列的每个元素运行一次Core ML模型,每次传入当前隐藏状态,并从模型的输出中读取新的隐藏状态。你知道吗
这比在凯拉斯的工作量要大得多。;—)
相关问题 更多 >
编程相关推荐