itlab-vision / dl-benchmark

Deep Learning Inference benchmark. Supports OpenVINO™ toolkit, Caffe, TensorFlow, TensorFlow Lite, ONNX Runtime, OpenCV DNN, MXNet, PyTorch, Apache TVM, ncnn, etc.

Home Page:http://hpc-education.unn.ru/dli

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Некорректное создание общей таблицы производительности для всех фреймворков

FenixFly opened this issue · comments

При создании общей таблицы производительности для всех фреймворков следующие проблемы:

  • Для фреймворка MXNet на каждый батч создается отдельный столбик (из-за того, что размер пачки участвует в описании эксперимента, а не задается через свой отдельный параметр в конфиге бенчмарка).
  • Для библиотеки TensorFlow в параметрах различный тензор размера пачки, из-за чего строки эксперимента для одной модели не объединяются, а эксперимент с пачкой [1,224,224,3] уезжает к строкам OpenVINO .

@FenixFly приложите пожалуйста артефакт. это проблема в csv или в excel?

@FenixFly приложите пожалуйста артефакт. это проблема в csv или в excel?

@n-berezina-nn, проблема при генерации xlsx-файла.

@FenixFly, есть по всей видимости еще одна проблема. Если проводится эксперимент при одинаковых условиях, но отличается всего один входной параметр (увидела это на MXNet, когда добавила включение и отключение символьных вычислений), то результат перезаписывается, поскольку наши конвертеры в HTML и XLSX не учитывают такую возможность в принципе. При последнем изменении конвертера (изменилось регулярное выражение) в заголовке столбца осталось только устройство без параметров, в результате количество столбцов уменьшилось, но вылезла проблема с наличием разных параметров.

Последнее изменение я планирую ревертнуть и решить проблему с указанием пачки в параметре input_shape. Других вариантов я не вижу, поскольку у нас реально со всеми библиотеками будет подобная проблема.

@FenixFly, в #376 пофиксила формирование таблицы для нескольких фреймворков. Есть конечно 2 момента, которые могут не позволить получить хорошую общую таблицу:

  1. У фреймворков могут быть разные названия моделей, поэтому мы получаем разные блоки горизонтальных строк.
  2. В таблице есть атрибут Source Framework, как следствие, если одна и та же архитектура обучена в разных фреймворках, то опять же получаем разные блоки горизонтальных строк.