作成したプログラムをビルドしようとしたらエラーが出ました。
どのように修復すればよろしいでしょうか。
Swift
1 2// 3// ViewController.swift 4// OridoAI 5// 6// Created by Mamiko Hirose2 on 2020/01/02. 7// Copyright © 2020 Mamiko Hirose2. All rights reserved. 8// 9 10import UIKit 11import CoreML 12import Vision 13 14class ViewController: UIViewController, UIImagePickerControllerDelegate, UINavigationControllerDelegate { 15 16 @IBOutlet weak var imageDisplay: UIImageView! 17 @IBOutlet weak var predictionDisplay: UITextView! 18 var imagePicker: UIImagePickerController! 19 20 override func viewDidLoad() { 21 super.viewDidLoad() 22 // Do any additional setup after loading the view. 23 imagePicker = UIImagePickerController() 24 imagePicker.delegate = self 25 imagePicker.sourceType = .camera 26 } 27 28 @IBAction func takePhoto(_ sender: Any) { 29 present(imagePicker, animated: true, completion: nil) 30 } 31 32 func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [UIImagePickerController.InfoKey : Any]) { 33 imageDisplay.image = info[UIImagePickerController.InfoKey.originalImage] as? UIImage 34 imagePicker.dismiss(animated: true, completion: nil) 35 imagePrediction(image: (info[UIImagePickerController.InfoKey.originalImage] as? UIImage)!) 36 } 37 38 func imagePrediction(image: UIImage) { 39 guard let model = try? VNCoreMLModel(for: orido_cnn().model) else { 40 fatalError("Model not found") 41 } 42 43 let request = VNCoreMLRequest(model: model){ 44 [week self] request, error inputView 45 46 guard let results = request.results as? [VNClassificationObservation], 47 let firstResult = result else { 48 fatalError("No results found") 49 } 50 51 DispatchQueue.main.async { 52 self?.predictionDisplay.text = "Accuracy: = (Int(firstResult.confidence * 100))% \n\nラベル: ((firstResult.identifier))" 53 } 54 } 55 56 guard let ciImage = CIImage(image: image) else { 57 fatalError("Can't convert image.") 58 } 59 60 let imageHandler = VNImageRequestHandler(ciImage : ciImage) 61 62 DispatchQueue.global(qos: .userInteractive).async { 63 do{ 64 try imageHandler.perform([request]) 65 } catch { 66 print("Error") 67 } 68 } 69 } 70} 71 72``
コードとエラーメッセージをテキストで提示しましょう
あなたの回答
tips
プレビュー