Автоматически сгенерированный класс CoreML использует конфликтующие инициализаторы - PullRequest
0 голосов
/ 21 сентября 2018

Я только что обновился до Xcode 10.0, который, похоже, нарушил автоматически сгенерированный код класса сети CoreML.При создании проекта я получаю сообщение об ошибке:

reg_net.m:94:50: No visible @interface for 'reg_netInput' declares the selector 'initWith0:'

Внутри класса автоматически сгенерированный инициализатор reg_netInput имеет форму initWith_0, но в теле функции прогнозирования:код называет initWith0.Я пытался изменить имена инициализаторов, чтобы они были согласованными, но всякий раз, когда я строю, код, по-видимому, автоматически генерируется и возвращается к конфликтующим именам.

Я также пытался удалять и повторно импортировать файлы .mlmodel безуспех.Есть идеи как это исправить?

1 Ответ

0 голосов
/ 04 октября 2018

Попробуйте изменить имя (имена) для вашей модели на valid identifier, отличное от просто числа "0".

Обзор

В Core ML функцияэто один вход или выход модели.Модель может иметь любое количество входных или выходных объектов.У каждого объекта есть имя и тип значения, которые определены в MLFeatureDescription.Авторы моделей используют описания функций, чтобы помочь разработчикам правильно интегрировать свою модель.Каждый экземпляр MLFeatureDescription имеет свойства только для чтения, которые указывают имя функции, ее тип и является ли она необязательной.

Примеры функций см. В разделе Интеграция модели Core ML в ваше приложение.Обратите внимание на три входные функции, называемые солнечные панели, теплицы и размер, а функция вывода называется цена.Все четыре функции имеют тип Double.

MLFeatureDescription также может включать ограничения, которые определяют ограничения функций ввода и вывода модели.Для каждой входной функции ограничения описывают, какие значения ожидает модель от вашего приложения.Для каждой функции вывода ограничения описывают, какие значения должно ожидать ваше приложение от модели.Вы также можете написать код для проверки этих описаний, прежде чем использовать модель в своем приложении.

Темы Проверка имени переменной компонента: String

Имя этой функции.

См .: MLFeatureDescription и MLFeatureDescription name

...