Как получить CoreML в файлах Pure Playground

Я использую файл .playground и не могу добавить в него свою модель CoreML. Я перетаскиваю его в папку «Ресурсы», и это мой код:

func predict(image: CGImage) {
    let model = try! VNCoreMLModel(for: Inceptionv3().model)
    let request = VNCoreMLRequest(model: model, completionHandler: results)
    let handler = VNSequenceRequestHandler()
    try! handler.perform([request], on: image)
}

Однако я получаю сообщение об ошибке:

Использование необъявленного типа Inceptionv3

Может кто-нибудь, пожалуйста, помогите мне?


person HeySaiK    schedule 17.03.2018    source источник
comment
Если вы выполняете тот же процесс в Xcode, он должен сгенерировать для вас набор файлов заголовков. Скопируйте их на игровую площадку   -  person Allison    schedule 17.03.2018
comment
Не могли бы вы быть немного более конкретным? Я использую Swift, и Xcode никогда не создавал для меня набор файлов заголовков.   -  person HeySaiK    schedule 18.03.2018
comment
Чтобы использовать его так, как вы, Xcode должен генерировать заголовок или быстрый файл для модели. Он может находиться в папке производных данных, но он должен где-то существовать. Сделать как обычный iOS-проект   -  person Allison    schedule 18.03.2018


Ответы (1)


Компилятор выдает эту ошибку, потому что не может найти объявление класса Inceptionv3, для которого вы пытаетесь создать экземпляр объекта.

Этот класс создается автоматически, если у вас есть обычный проект Xcode. Если вы хотите работать с ним внутри игровой площадки Swift, вам нужно будет добавить этот файл вручную:

Сначала создайте обычный проект Xcode (например, приложение для iOS) и интегрируйте туда свою млмодель. Затем Xcode автоматически сгенерирует интерфейс для этой модели. Это именно те файлы, которые отсутствуют в вашем проекте и содержат определение класса Inceptionv3.

Та же проблема была задана и ответила здесь. Там вы также можете найти изображение, показывающее, как найти автоматически сгенерированные классы.

person JoRa    schedule 22.05.2018