Я конвертирую эффективную сеть из onnx в тензорный поток для дальнейшего преобразования в tflite. Преобразование onnx в tenorflow дает странные результаты
Onnx имеет 1 оператор conv2d
И после преобразования в тензорный поток и более позднюю модель tflite я получаю этот стек конвоев (все они не помещаются на картинке, всего их 32, как количество ядер в onnx)
Я подозреваю, что проблема в onnx-tf
преобразовании. Похоже, что вывод conv2d разделен на 32 отдельных вывода, затем они обрабатываются индивидуально отдельным оператором conv2d, а затем объединяются вместе.
На их гитхабе есть 2 связанных проблемы.
Во-первых, есть исправление для глубинных конвоев, но оно не может быть применено в моем случае.
https://github.com/onnx/onnx-tensorflow/issues/473
https://github.com/onnx/onnx-tensorflow/issues/754
Глядя на источник https://github.com/onnx/onnx-tensorflow/blob/master/onnx_tf/handlers/backend/conv_mixin.py Они действительно разделяют вывод, производя отдельные свертки, а затем объединяют их.
Можно ли избежать этого разделения на несколько сверток?