【发布时间】:2018-06-08 16:29:58
【问题描述】:
let model = test2()
var data = [1.0, 2.0,2.0,2.0,2.0,2.0,2.0]
guard let mlMultiArray = try? MLMultiArray(shape:[1,7], dataType:MLMultiArrayDataType.double) else {
fatalError("Unexpected runtime error. MLMultiArray")
}
for (index, element) in data.enumerated() {
mlMultiArray[index] = NSNumber(floatLiteral: element)
}
guard let markupOut = try? model.prediction(input1: mlMultiArray) else {
fatalError("Unexpected runtime error.")
}
我正在使用 swift 4 和 core ML。
编译但在运行时失败:
[coreml] 输入 input1 是一个 rank 2 的数组,但是这个模型只 支持单个向量输入(排名 1)或一系列批次的 向量(排名 3)。 [coreml] 验证输入失败。
input1 是 MultiArray (Double 7) 的类型
我是否通过将双精度的 MultiArray 转换为单个向量输入/批量向量来修复“验证输入失败”错误?如果是这样,如何将 MultiArray 的双精度数转换为单个向量输入或批量向量?
【问题讨论】:
-
请考虑将代码编辑到问题本身中,而不是发布它的图像。这样可以更轻松地对其进行测试,并且屏幕阅读器无法访问图像。