Ошибка модели xrunc coreml для YOLACT onnx без уровня priors и уровня softmax
Я преобразовал модель pytorch YOLACT в onnx без слоев softmax и priors. И потом я пытаюсь преобразовать onnx в coreml. Терминал показывает, что все сделано без ошибок. Он также отображает выполненную компиляцию модели и отсутствие ошибок, как показано ниже.
210/211: Converting Node Type Concat
211/211: Converting Node Type Concat
Translation to CoreML spec completed. Now compiling the CoreML model.
Model Compilation done.
Но когда я компилирую модель coreml на macos, ошибка показывает:
xcrun coremlc compile yolact_test_nosoftmax_simplify.mlmodel
coremlc: Error: compiler error: Espresso exception:
Invalid blob shape generic_elementwise_kernel: cannot broadcast [18, 18, 128, 1, 399] and [35, 35, 128, 1, 399]
Я не знаю, как отлаживать прямо сейчас. Любое предложение будет оценено.
1 ответ
В вашей модели есть операция, которая пытается применить операцию к тензору размера (18, 18, 128, 1, 399) и тензору размера (35, 35, 128, 1, 399). Эти две тензорные формы несовместимы, отсюда и сообщение об ошибке.
Чтобы решить эту проблему, вам нужно выяснить, в какой момент вашей модели это происходит, а затем исправить проблему. Возможно, что-то пошло не так с преобразованием PyTorch -> ONNX, или что-то пошло не так с преобразованием ONNX -> Core ML.