Firebasemldownloader Crash: «Задача, созданная на сессии, которая была признана аннулированием». xcode (swift)IOS

Программируем под IOS
Ответить
Anonymous
 Firebasemldownloader Crash: «Задача, созданная на сессии, которая была признана аннулированием». xcode (swift)

Сообщение Anonymous »

Я использую загрузчик модели Firebase для загрузки модели TFLITE и использования ее для прогнозирования. Все это было хорошо, но внезапно начало сбои в момент загрузки модели, со следующей ошибкой:
попытался создать задачу в сеансе, которая была признана недействительными *** заканчивающими приложением из -за исключения 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("❌ Remote Config fetch error: \(error!.localizedDescription)")
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("✅ Model downloaded successfully at path: \(customModel.path)")
self.initializeInterpreter(modelPath: customModel.path, completion: completion)
case .failure(let error):
print("❌ Model download failed: \(error.localizedDescription)")
completion(false)
}
}
}

private func initializeInterpreter(modelPath: String, completion: @escaping (Bool) -> Void) {
do {
interpreter = try Interpreter(modelPath: modelPath)
try interpreter?.allocateTensors()

completion(true)
} catch {
print("❌ Failed to initialize TensorFlow Lite Interpreter: \(error.localizedDescription)")
completion(false)
}
}

//some other functions for prediction
}
< /code>
В моем ViewController я создаю экземпляр этого: let Predictor = bankpredictor () и на ViewDidload я пытаюсь использовать это: < /p>
predictor.fetchAndDownloadLatestModel { success in
DispatchQueue.main.async {
if success {
print("✅ Model is ready! You can now make predictions.")
} else {
print("❌ Model initialization failed.")
}
}
}
< /code>
Как я уже сказал, он работает нормально, но в этот момент внезапные сбои < /p>
Я попытался установить стручки, чтобы использовать более старую версию Firebase, которая была установлена ​​ранее, безрезультатно. Я также пробовал разные способы инициализации и обработки ошибок в модели загрузчика.

Подробнее здесь: https://stackoverflow.com/questions/797 ... nvalidated
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «IOS»