Использование MLMultiArray в качестве выходных данных модели CoreML
Я обучил модель YOLOv3-SPP с помощью PyTorch. Затем я сохранил модель в формате onnx, а затем преобразовал мою модель onnx в CoreML с помощью onnx-coreml. Кажется, я не могу понять, как использовать мою модель, так как выходные данные - MLMultiArrays.
Вот как выглядят мои результаты:
Я новичок в машинном обучении и не знаю, с чего начать, когда нужно попытаться использовать эту модель. Я не знаю, какую информацию содержит каждый MultiArray, и не могу понять, как получить к нему доступ. Учитывая, что моя модель является детектором объектов, обученным на трех классах, может ли кто-нибудь сказать мне, какую информацию содержит каждый MultiArray и как я могу получить к нему доступ? Некоторый пример кода с объяснением будет иметь большое значение. Если кто-нибудь знает какой-либо проект Github, в который я могу просто бросить эту модель, чтобы протестировать ее, это тоже сработает.
1 ответ
Вам необходимо декодировать выходные данные модели в ограничивающие прямоугольники и т. Д., Как это делает модель PyTorch. Не все, что делает код PyTorch, является частью модели Core ML.
Слишком много работы, чтобы объяснить это в Stackru, но я много писал об этом в своем блоге: https://machinethink.net/blog/
В частности,
- https://machinethink.net/blog/object-detection/
- https://machinethink.net/blog/yolo-coreml-versus-mps-graph/
- https://machinethink.net/blog/object-detection-with-yolo/
YOLOv3-SPP отличается в деталях, но это должно помочь вам начать.