Запустите Tensorflow с механизмом логического вывода NVIDIA TensorRT
Я хотел бы использовать NVIDIA TensorRT для запуска своих моделей Tensorflow. В настоящее время TensorRT поддерживает файлы сетевых прототипов Caffe prototxt.
Мне не удалось найти исходный код для преобразования моделей Tensorflow в модели Caffe. Есть ли обходные пути?
2 ответа
TensorRT 3.0 поддерживает импорт / преобразование графиков TensorFlow через его UFF (универсальный формат фреймворка). Некоторые реализации уровня отсутствуют и потребуют пользовательских реализаций через интерфейс IPlugin.
Предыдущие версии не поддерживали собственный импорт моделей / контрольных точек TensorFlow.
Что вы также можете сделать, это экспортировать описание слоев / сети в ваш собственный промежуточный формат (например, текстовый файл), а затем использовать TensorRT C++ API для построения графика для вывода. Вы должны были бы экспортировать веса / уклоны свертки отдельно. Обязательно обратите внимание на весовой формат - TensorFlow использует NHWC, а TensorRT использует NCHW. А для весов TF использует RSCK ([filter_height, filter_width, input_depth, output_depth]), а TensorRT использует KCRS.
Смотрите эту статью для расширенного обсуждения тензорных форматов: https://arxiv.org/abs/1410.0759
Также эта ссылка содержит полезную информацию: https://www.tensorflow.org/versions/master/extend/tool_developers/
В настоящее время обходных путей не требуется, поскольку в новый TensorRT 3 добавлена поддержка TensorFlow.