Я обучил модель, используя Tensorflow GPU и Mobil enet v2 в качестве предварительно обученной модели, и после этого я попытался преобразовать ее в CoreML, как .mlmodel
. Я читал, что вам нужно добавить некоторую предварительную / постпроцессорную обработку и для этого вы можете создать конвейер и использовать этот конвейер внутри XCode. Я попытался использовать их пример, который можно найти здесь:
https://github.com/hollance/coreml-survival-guide/blob/master/MobileNetV2%2BSSDLite/ssdlite.py
Преобразование прошло успешно, но я не могу использовать его в Xcode, я получаю эта ошибка, и я понятия не имею, как ее решить, потому что этот процесс не полностью задокументирован. Ошибка:
Error Domain=com.apple.vis Code=3 "The VNCoreMLTransform request failed" UserInfo={NSLocalizedDescription=The VNCoreMLTransform request failed, NSUnderlyingError=0x2828e8b40 {Error Domain=com.apple.CoreML Code=0 "Failed to evaluate model 1 in pipeline" UserInfo={NSLocalizedDescription=Failed to evaluate model 1 in pipeline, NSUnderlyingError=0x2828e9560 {Error Domain=com.apple.CoreML Code=0 "Shape (2 x 1 x 1917) was not in enumerated set of allowed shapes" UserInfo={NSLocalizedDescription=Shape (2 x 1 x 1917) was not in enumerated set of allowed shapes}}}}}
Так выглядит модель:
![enter image description here](https://i.stack.imgur.com/M75sy.png)