5 votes

L'API de détection d'objets Tensorflow a un temps d'inférence lent avec le service tensorflow

Je ne parviens pas à faire correspondre les temps d'inférence indiqués par Google pour les modèles publiés dans son site Web. zoo modèle . Plus précisément, j'essaie leur faster_rcnn_resnet101_coco modèle où le temps d'inférence rapporté est 106ms sur un GPU Titan X.

Mon système de service utilise TF 1.4 qui fonctionne dans un conteneur construit à partir de la base de données de l'entreprise. Dockerfile publié par Google. Mon client est modelé sur le client initial également publié par Google.

Je fonctionne sur une Ubuntu 14.04, TF 1.4 avec 1 Titan X. Mon temps total d'inférence est 3x pire que celui rapporté par Google ~330ms. En faisant le proto tenseur prend ~150ms et Prévoir prend ~180ms. Mon saved_model.pb est directement issu du fichier tar téléchargé depuis le zoo du modèle. Y a-t-il quelque chose qui m'échappe ? Quelles mesures puis-je prendre pour réduire le temps d'inférence ?

3voto

Sid M Points 139

J'ai pu résoudre les deux problèmes en

  1. l'optimisation des drapeaux du compilateur. Ajouté ce qui suit à bazel-bin --config=opt --copt=-msse4.1 --copt=-msse4.2 --copt=-mavx --copt=-mavx2 --copt=-mfma

  2. Ne pas importer tf.contrib pour chaque inférence. Dans l'échantillon inception_client fourni par google, ces lignes réimporter tf.contrib pour chaque passage en avant.

2voto

Vikram Gupta Points 31

La suppression non-maximum peut être le goulot d'étranglement : https://github.com/tensorflow/models/issues/2710 .

La taille de l'image est-elle de 600x600 ?

0voto

gustavz Points 403

Vikram Gupta, avez-vous vérifié l'utilisation de votre GPU ? Est-elle proche de 80-100% ? L'utilisation du GPU est très faible lorsque je détecte des objets dans un flux vidéo avec l'API et les modèles du "zoo des modèles".

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X