[英]AI Vision framework Error: "Could not create Espresso context" in M1 Mac
I am making an app to classify food images.我正在制作一个对食物图像进行分类的应用程序。 I trained a model using a dataset found from Kaggle.
我使用从 Kaggle 找到的数据集训练了 model。 When press the classify button I am getting this error in console:
当按下分类按钮时,我在控制台中收到此错误:
Error Domain=com.apple.vis Code=9 "Could not create Espresso context" UserInfo={NSLocalizedDescription=Could not create Espresso context}
So I was looking for solution by googling and found in apple developer forum that it is M1 Mac specific issue.所以我通过谷歌搜索寻找解决方案,并在苹果开发者论坛中发现它是 M1 Mac 特定问题。 What should I do now?
我现在该怎么办?
Classify class:分类 class:
import Foundation
import CoreML
import Vision
import UIKit
class VisionClasifier{
private let model : VNCoreMLModel
private var completion: (String) -> Void = { _ in }
private lazy var request:[VNCoreMLRequest] = {
let request = VNCoreMLRequest(model: model){ request, error in
guard let results = request.results as? [VNClassificationObservation] else{
return
}
if !results.isEmpty{
if let result = results.first{
self.completion(result.identifier)
}
}
}
request.imageCropAndScaleOption = .centerCrop
return [request]
}()
init?(mlModel:MLModel?){
if let m = mlModel{
if let model = try? VNCoreMLModel(for: m){
self.model = model
}else{
return nil
}
}else{
return nil
}
}
func classify(_ image:UIImage, completion:@escaping (String)->Void){
self.completion = completion
DispatchQueue.global().async {
guard let image = image.cgImage else{
return
}
let handler = VNImageRequestHandler(cgImage: image, options: [:])
do{
try handler.perform(self.request)
}catch{
print(error) // -> here is the error
}
}
}
}
Is this an M1 Mac specific error?这是 M1 Mac 特有的错误吗?
Yes, it can be a M1 specific error.是的,它可能是 M1 特定的错误。
after line:行后:
request.imageCropAndScaleOption = .centerCrop
add添加
request.usesCPUOnly = true
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.