Классификация активности пользователя с использованием CoreML в фоновом режиме

#ios #swift #iphone #ipad #coreml

#iOS #swift #iPhone #iPad #coreml

Вопрос:

Я хочу всегда выполнять запрос CoreML, даже когда приложение находится в фоновом режиме. Я следил за статьей о классификации активности с помощью Create ML, CoreML3. Он хорошо работает на переднем плане, но перестает работать в фоновом режиме. Как я могу добавить фоновую поддержку для этого приложения. Возможно ли классифицировать активность пользователя с помощью CoreML, когда приложение находится в резервном режиме?

В качестве обходного пути я добавил диспетчер местоположений для фоновой поддержки. Диспетчер местоположений работает в фоновом режиме, как и ожидалось. Но запрос на классификацию активности по-прежнему возвращает ноль.

Классификация активности с помощью Create ML: https://medium.com/skafosai/activity-classification-with-create-ml-coreml3-and-skafos-part-2-734f1ea2f6e

Ответ №1:

Наконец-то я нашел решение, которое работает в фоновом режиме. Я получал эту проблему для

Недостаточно разрешения (для отправки работы графического процессора в фоновом режиме)

Я настроил MLModelConfiguration на cpuOnly, чтобы исправить эту проблему.

     let activityModel: MyActivityClassifier = {
    do {
        let config = MLModelConfiguration()
        config.computeUnits = .cpuOnly
        return try MyActivityClassifier(configuration: config)
    } catch {
        print(error)
        fatalError("Couldn't create MyActivityClassifier")
    }
}()