#c# #arrays #tensor #onnx
#c# #массивы #тензор #onnx
Вопрос:
Я пытаюсь вручную декодировать выходные данные ONNX-модели обнаружения объектов Yolo на C #. Netron описывает результат следующим образом:
type: float32[1,3,80,80,19]
Но в коде C # вывод модели, который я получаю, представляет собой одномерный массив:
float[364800]
и 364800 = 1 * 3 * 80 * 80 * 19
Мой опыт программирования был с VB.NET и немного C #. Я новичок в ML и обнаружении объектов, и у меня нет большого опыта работы с тензорами или Python, поэтому я пытаюсь создать решение на C #.
Может ли кто-нибудь указать мне правильное направление при восстановлении многомерного тензорного массива, чтобы я мог перебирать результаты? Как будут храниться данные в одномерном массиве?
Также я задавался вопросом, могу ли я делать это сложным путем. Если в .NET world Я был бы рад узнать об этом.
Спасибо за любую помощь!
Ответ №1:
Вы можете использовать numpy для работы с массивами в python. установить
pip install numpy
Для преобразования из одномерного в многомерный массив вы можете выполнить конверсию следующим образом:
oned_array = np.arange(6)
oned_array:
array([0,1,2,3,4,5])
multi_dimn_array = oned_array .reshape((3,2))
multi_dimn_array :
array([[0, 1],
[2, 3],
[4, 5]])
Полезный ресурс:
Комментарии:
1. Спасибо, но я не понимаю, как это применимо в C #, это библиотеки в Python