«Исключение из слоя: 149» Проблема с моделью CoreML после преобразования из PyTorch - PullRequest
0 голосов
/ 17 марта 2020

Я обучил модель YOLOv3-SPP, используя PyTorch. Затем я сохранил его как модель ONNX, а затем преобразовал его в CoreML, используя onnx-coreml. Когда я пытаюсь сделать прогноз, используя модель, я получаю эту ошибку:

    YOLOv3-CoreML[13481:1004975] [espresso] [Espresso::handle_ex_plan] exception=Espresso exception: "Invalid state": reshape mismatching size: 13 13 24 1 1 -> 6 10 8 3 1 [Exception from Layer: 149: 300]
2020-03-16 13:46:05.248612-0500 YOLOv3-CoreML[13481:1004975] [coreml] Error computing NN outputs -1

Это код, который я использую для прогноза:

 if let prediction = try? model.prediction(input_1: image) {
      print("Output: \(prediction)")
    }

Я кое-что нашел найти слой # 149. Я использовал этот скрипт, чтобы найти его имя:

import coremltools
import numpy as np

mlmodel = coremltools.models.MLModel("model.mlmodel")
spec = mlmodel._spec

print(spec.neuralNetwork.layers[149]) 

Я нашел его имя "308". Итак, я открыл модель в Netron и получил:

enter image description here

Рассматриваемый слой обведен красным. Как я могу заставить мою модель CoreML работать должным образом?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...