попытался создать задачу в сеансе, которая была признана недействительными *** заканчивающими приложением из -за исключения Unceart 'nsgenericexxcept Firebasemlmodeldownloader в моих файлах POD. Кроме того, в моей реализации ничего не изменилось. Моя реализация класса с использованием загрузчика MDEL здесь < /p>
public class BankPredictor {
private let remoteConfig: RemoteConfig
private var interpreter: Interpreter?
public init() {
FirebaseManager.shared.configureFirebase()
self.remoteConfig = RemoteConfig.remoteConfig()
let settings = RemoteConfigSettings()
self.remoteConfig.configSettings = settings
}
public func fetchAndDownloadLatestModel(completion: @escaping (Bool) -> Void) {
let remoteConfig = RemoteConfig.remoteConfig()
remoteConfig.fetchAndActivate { status, error in
guard error == nil else {
print("
completion(false)
return
}
guard let modelName = remoteConfig["model_name"].stringValue else {return}
print("Model Name is: \(modelName)")
self.downloadModel(named: modelName, completion: completion)
}
}
private func downloadModel(named modelName: String, completion: @escaping (Bool) -> Void) {
let conditions = ModelDownloadConditions(allowsCellularAccess: true)
ModelDownloader.modelDownloader().getModel(
name: modelName,
downloadType: .localModelUpdateInBackground,
conditions: conditions
) { result in
switch result {
case .success(let customModel):
print("
self.initializeInterpreter(modelPath: customModel.path, completion: completion)
case .failure(let error):
print("
completion(false)
}
}
}
private func initializeInterpreter(modelPath: String, completion: @escaping (Bool) -> Void) {
do {
interpreter = try Interpreter(modelPath: modelPath)
try interpreter?.allocateTensors()
completion(true)
} catch {
print("
completion(false)
}
}
//some other functions for prediction
}
< /code>
В моем ViewController я создаю экземпляр этого: let Predictor = bankpredictor () и на ViewDidload я пытаюсь использовать это: < /p>
predictor.fetchAndDownloadLatestModel { success in
DispatchQueue.main.async {
if success {
print("
} else {
print("
}
}
}
< /code>
Как я уже сказал, он работает нормально, но в этот момент внезапные сбои < /p>
Я попытался установить стручки, чтобы использовать более старую версию Firebase, которая была установлена ранее, безрезультатно. Я также пробовал разные способы инициализации и обработки ошибок в модели загрузчика.
Подробнее здесь: https://stackoverflow.com/questions/797 ... nvalidated
Мобильная версия