2017-10-30 1 views
0

coreML에서 오는 배열의 첫 번째 요소를 출력하려고합니다. 그러나 그것은 단지 전체 배열을 제공하는 것 같습니다.Swift 4 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)" 
    } 
+0

출력을 제공 할 수 있습니까? 이 코드는 나에게 맞는 것 같습니다. – jpetrichsr

답변

0

출력을 제공하면 코드가 잘 보임으로 이해하기 쉽습니다. 첫 번째 요소를 인쇄해야합니다.

한 가지를 확인하십시오. 실제 코드 스 니펫을 여러 번 실행하고 있으며 콘솔 출력 과 같아서 배열을 인쇄했습니다. 보다 구체적으로 말하자면 실제로 모델과 모든 항목과 함께 실제로 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"] 

하지만, 당신의 콘솔 출력을 게시하시기 바랍니다 단지 추측 : 달리

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

과 같을 것이다 인쇄 및 배열 : 출력은 다음과 같을 것이다.

관련 문제