来自 Firebase 的远程 ML 模型错误 downloading/saving
Error downloading/saving a remote ML model from Firebase
我在 React Native 项目中使用 MLKit 和 iOS。
基本上使用这个代码:https://firebase.google.com/docs/ml/ios/label-images-with-automl
它曾经工作得很好,但现在我得到这个错误:
downloadModel: notificationDidFail:
name = com.google.mlkit.notif.model-download-did-fail,
object = Optional(<MLKModelDownloader: 0x281a86300>),
userInfo = Optional([AnyHashable("MLKModelDownloadUserInfoKeyError"): Error Domain=com.google.mlkit Code=2 "Failed to save AutoML remote model labels file." UserInfo={NSLocalizedDescription=Failed to save AutoML remote model labels file.}, AnyHashable("MLKModelDownloadUserInfoKeyRemoteModel"): name: lepidoptera_underside])
Xcode 打印:
[MLKit][I-MLK018012] AutoML 远程模型推理信息不包含标签
一个模型似乎比其他模型更有效。
这被执行:
NotificationCenter.default.addObserver(
forName: .mlkitModelDownloadDidFail,
object: nil,
queue: nil
) { notification in
self.failed("downloadModel: notification error: \(notification)")
}
整个下载模型功能:
func downloadModel() {
guard let remoteModel = remoteModel else {
failed("downloadModel: remoteModel error")
return
}
let downloadConditions = ModelDownloadConditions(
allowsCellularAccess: true,
allowsBackgroundDownloading: true
)
_ = ModelManager.modelManager().download(
remoteModel,
conditions: downloadConditions
)
NotificationCenter.default.addObserver(
forName: .mlkitModelDownloadDidSucceed,
object: nil,
queue: nil
) { [weak self] notification in
guard let strongSelf = self,
let userInfo = notification.userInfo,
let model = userInfo[ModelDownloadUserInfoKey.remoteModel.rawValue]
as? RemoteModel,
model.name == strongSelf.modelName
else { return }
strongSelf.createLabeler()
}
NotificationCenter.default.addObserver(
forName: .mlkitModelDownloadDidFail,
object: nil,
queue: nil
) { notification in
self.failed("downloadModel: notification error: \(notification)")
}
}
提供的文档 (https://firebase.google.com/docs/ml/ios/label-images-with-automl) 包含过时的信息。 ML Kit 在其最新版本中已完全弃用并删除了 GoogleMLKit/ImageLabelingAutoML
pod。该 pod 现在已被 GoogleMLKit/ImageLabelingCustom
pod 取代。 MLKitImageLabelingCustom
pod 的最新版本是 1.2.0
。请在此处参阅完整的迁移指南:
https://developers.google.com/ml-kit/vision/image-labeling/automl/migrate-automl
我在 React Native 项目中使用 MLKit 和 iOS。
基本上使用这个代码:https://firebase.google.com/docs/ml/ios/label-images-with-automl
它曾经工作得很好,但现在我得到这个错误:
downloadModel: notificationDidFail:
name = com.google.mlkit.notif.model-download-did-fail,
object = Optional(<MLKModelDownloader: 0x281a86300>),
userInfo = Optional([AnyHashable("MLKModelDownloadUserInfoKeyError"): Error Domain=com.google.mlkit Code=2 "Failed to save AutoML remote model labels file." UserInfo={NSLocalizedDescription=Failed to save AutoML remote model labels file.}, AnyHashable("MLKModelDownloadUserInfoKeyRemoteModel"): name: lepidoptera_underside])
Xcode 打印: [MLKit][I-MLK018012] AutoML 远程模型推理信息不包含标签
一个模型似乎比其他模型更有效。
这被执行:
NotificationCenter.default.addObserver(
forName: .mlkitModelDownloadDidFail,
object: nil,
queue: nil
) { notification in
self.failed("downloadModel: notification error: \(notification)")
}
整个下载模型功能:
func downloadModel() {
guard let remoteModel = remoteModel else {
failed("downloadModel: remoteModel error")
return
}
let downloadConditions = ModelDownloadConditions(
allowsCellularAccess: true,
allowsBackgroundDownloading: true
)
_ = ModelManager.modelManager().download(
remoteModel,
conditions: downloadConditions
)
NotificationCenter.default.addObserver(
forName: .mlkitModelDownloadDidSucceed,
object: nil,
queue: nil
) { [weak self] notification in
guard let strongSelf = self,
let userInfo = notification.userInfo,
let model = userInfo[ModelDownloadUserInfoKey.remoteModel.rawValue]
as? RemoteModel,
model.name == strongSelf.modelName
else { return }
strongSelf.createLabeler()
}
NotificationCenter.default.addObserver(
forName: .mlkitModelDownloadDidFail,
object: nil,
queue: nil
) { notification in
self.failed("downloadModel: notification error: \(notification)")
}
}
提供的文档 (https://firebase.google.com/docs/ml/ios/label-images-with-automl) 包含过时的信息。 ML Kit 在其最新版本中已完全弃用并删除了 GoogleMLKit/ImageLabelingAutoML
pod。该 pod 现在已被 GoogleMLKit/ImageLabelingCustom
pod 取代。 MLKitImageLabelingCustom
pod 的最新版本是 1.2.0
。请在此处参阅完整的迁移指南:
https://developers.google.com/ml-kit/vision/image-labeling/automl/migrate-automl