2016-12-14 3 views
6

Je souhaite utiliser NVIDIA TensorRT pour exécuter mes modèles Tensorflow. Actuellement, TensorRT prend en charge les fichiers de descripteur de réseau Prototxt Caffe.Exécution de Tensorflow avec le moteur NVIDIA TensorRT Inference

Je n'ai pas pu trouver de code source pour convertir les modèles Tensorflow en modèles Caffe. Y a-t-il des solutions de contournement?

Répondre

11

TensorRT 3.0 prend en charge l'importation/conversion de graphiques TensorFlow via son format UFF (format de structure universel). Certaines implémentations de couches sont manquantes et nécessiteront des implémentations personnalisées via l'interface IPlugin.

Les versions précédentes ne prenaient pas en charge l'importation native des modèles/points de contrôle TensorFlow. Vous pouvez également exporter la description des couches/réseau dans votre propre format intermédiaire (tel qu'un fichier texte), puis utiliser l'API TensorRT C++ pour construire le graphique pour l'inférence. Vous devez exporter les poids/biais de convolution séparément. Assurez-vous de faire attention au format de poids - TensorFlow utilise NHWC tandis que TensorRT utilise NCHW. Et pour les poids, TF utilise RSCK ([filter_height, filter_width, input_depth, output_depth]) et TensorRT utilise KCRS.

Voir cet article pour une discussion approfondie des formats de tenseurs: https://arxiv.org/abs/1410.0759

également ce lien a des infos utiles et pertinentes: https://www.tensorflow.org/versions/master/extend/tool_developers/

1

Aucune solution ne est actuellement nécessaire que le nouveau TensorRT 3 a ajouté le support pour tensorflow.