Ошибка модели 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.

Другие вопросы по тегам