Swift 4 CoreML不会获得数组

时间:2017-10-30 19:37:28

标签: ios swift coreml

我正在尝试打印出来自coreML的数组的第一个元素?但它似乎只是给出了完整的数组。

guard let pixelBuffer: CVPixelBuffer = CMSampleBufferGetImageBuffer(sampleBuffer) else { return }

guard let model = try? VNCoreMLModel(for: Inceptionv3().model) else { return }
let request = VNCoreMLRequest(model: model) { (finishedReq, err) in
    guard let results = finishedReq.results as? [VNClassificationObservation] else { return }

    guard let firstObservation = results.first else { return }

    print(firstObservation.identifier, firstObservation.confidence)

    DispatchQueue.main.async {
        self.identifierLabel.text = "\(firstObservation.identifier) \(firstObservation.confidence * 100)"
    }

1 个答案:

答案 0 :(得分:0)

如果你提供输出它会更容易理解,因为代码看起来很好 - 它应该打印第一个元素。

检查一件事 - 也许您正在多次运行实际的代码段,并且控制台输出看起来像您打印了一个数组。更具体一点 - 您实际上可以一遍又一遍地启动和执行NSUrl.FromFilename(filepath),以及模型和其中的所有内容。然后输出看起来像:

request

与打印和数组形成鲜明对比:

request number 1 output first element
request number 2 output first element
request number 3 output first element
request number 4 output first element

但这只是猜测,请发布您的控制台输出。