У меня есть две модели CoreML.Одна работает нормально, а другая генерирует это сообщение об ошибке:
[espresso] [Espresso::ANERuntimeEngine::__forward_segment 0] evaluate[RealTime]WithModel returned 0; code=5 err=Error Domain=com.apple.appleneuralengine Code=5 "processRequest:qos:qIndex:error:: 0x3: Program Inference overflow" UserInfo={NSLocalizedDescription=processRequest:qos:qIndex:error:: 0x3: Program Inference overflow}
[espresso] [Espresso::overflow_error] /var/containers/Bundle/Application/E0DE5E08-D2C6-48AF-91B2-B42BA7877E7E/xxx demoapp.app/mpii-hg128.mlmodelc/model.espresso.net:0
Обе модели очень похожи (модели Conv2D).Там сгенерированы те же скрипты и версии PyTorch, ONNX и onnx-coreml.Работающая модель имеет 1036 слоев, а модель, которая генерирует ошибку, имеет 599 слоев.Они оба используют стандартные слои - Conv2D, BatchNorm, ReLU, MaxPool и Upsample (без пользовательских слоев и без функциональных или Numpy).Они оба используют относительно одинаковое количество объектов на слой.Они следуют по существу той же структуре, за исключением того, что модель с ошибками пропускает слой maxpool в начале (отсюда и более высокое выходное разрешение).
Они оба принимают в качестве входных данных цветное изображение 256x256 и выводят 16 каналов при (работающем)64x64 и (с ошибками) 128x128 пикселей.
Приложение не аварийно завершает работу, но выдает результаты с ошибками для модели с ошибками.
Обе модели обучаются, оценивают и т. Д. Отлично в своих собственных форматах (PyTorch).
Я понятия не имею, что такое ошибка Code=5 "processRequest:qos:qIndex:error:: 0x3: Program Inference overflow"
, и поиски в Google не дают ничего продуктивного, так как я понимаю, что "Espresso" и "ANERuntimeEngine" являются частными библиотеками Apple.
Что это сообщение об ошибке говорит мне?Как это исправить?
Можно ли избежать этого сообщения об ошибке, запустив модель не на бионическом чипе, а на процессоре / графическом процессоре?
Любая помощь приветствуется, спасибо.