Упорядочивание Tensor в линейный массив в Ort:Value:CreateTensor

Это кажется таким простым, но по какой-то причине я не могу найти по нему четкой документации.

Итак, допустим, я знаю, что моя модель ONNX требует ввода формы. [245, 245, 3]. Второй аргумент в конструктореOrt::Value::CreateTensorхочет, чтобы линейный массив данных заполнял тензор. Каков порядок линейного массива?

Например, являются ли первые три значения в линейном массиве значениями BGR для 0-го пикселя изображения или первые три значения в линейном массиве являются значением B-канала первых трех пикселей изображения? А насчет порядка расположения пикселей в изображении: строковый?

2 ответа

Короткий ответ: ONNX поддерживает только NCHW.

В качестве справки, пожалуйста, ознакомьтесь с разделом Моя конвертированная модель TensorFlow работает медленно — почему?в onnxruntime.ai. Это единственный «официальный» материал, в котором говорится о формате данных, который я нашел до сих пор.

Это рядовой. Формат входных данных в ONNX - NCHW. C = количество каналов. В этом случае C=3. Заказ C (BGR или RGB) зависит от модели. Например, модель YOLO принимает изображение 3(RGB) x 416px x 416px.

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