coreML 验证输入失败
coreML Failure Verifying Inputs
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 和核心 ML。
编译但在 运行 时间内失败:
[coreml] Input input1 is an array of rank 2, but this model only
supports single vector inputs (rank 1) or a sequence of batches of
vectors (rank 3). [coreml] Failure verifying inputs.
input1 是 MultiArray (Double 7) 类型
我是否可以通过将双精度的多数组转换为单个向量输入/向量批次来修复 "failure verifying inputs" 错误?如果是这样,我如何将双精度的 MultiArray 转换为单个向量输入或向量批次?
当你写 shape:[1,7]
时,MLMultiArray 是等级 2。Core ML 说这个模型不支持等级 2 输入。所以要么做 shape:[7]
(使其排名 1)或 shape:[1,1,7]
(使其排名 3)。
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 和核心 ML。
编译但在 运行 时间内失败:
[coreml] Input input1 is an array of rank 2, but this model only supports single vector inputs (rank 1) or a sequence of batches of vectors (rank 3). [coreml] Failure verifying inputs.
input1 是 MultiArray (Double 7) 类型
我是否可以通过将双精度的多数组转换为单个向量输入/向量批次来修复 "failure verifying inputs" 错误?如果是这样,我如何将双精度的 MultiArray 转换为单个向量输入或向量批次?
当你写 shape:[1,7]
时,MLMultiArray 是等级 2。Core ML 说这个模型不支持等级 2 输入。所以要么做 shape:[7]
(使其排名 1)或 shape:[1,1,7]
(使其排名 3)。