ID de l'article: 000057722 Type de contenu: Maintenance et performances Dernière révision: 14/08/2023

Le chargement d’un modèle sur une unité de traitement de la vision (VPU) peut prendre plus de temps que le chargement sur le processeur

Environnement

OpenVINO™ toolkit 2019 R3 ou version ultérieure

BUILT IN - ARTICLE INTRO SECOND COMPONENT
En bref

Étapes rapides pour réduire le temps de chargement du modèle sur l’unité de traitement de la vision

Descriptif
  • Le temps de chargement d’un modèle sur l’unité de traitement de la vision (VPU) est plus long que le chargement du modèle sur le processeur.
  • Code utilisant l’API Python : net = ie.read_network(model=path_to_xml, weights=path_to_bin) exec_net = ie.load_network(network=net, device_name="CPU") res = exec_net.infer(inputs=data)
Résolution

Pour réduire le temps de chargement, chargez le modèle à partir de l’objet blob, qui est un graphique analysé, pour contourner l’étape d’analyse syntaxique du modèle.

  1. Générez le fichier Blob à l’avance avant de le charger à l’aide d’une des méthodes suivantes :
    • Générez l’objet blob à l’aide de l’outil myriad_compile de la ligne de commande :
      1. L’outil précompilé est disponible dans le Distribution Intel® du kit d'outils OpenVINO™. Vous pouvez également cloner le référentiel open source OpenVINO toolkit et le générer .
      2. Générer Blob.
        Dans le chemin inference-engine/bin/intel64/Release, exécutez une commande comme suit : ./myriad_compile -m <model_name>.xml -o <output filename>
  2. Importez l’objet blob dans votre code à l’aide de l’API de base du moteur d’inférence : executable_network = ie.ImportNetwork(“model_name.blob”, device, config)
Informations complémentaires

Il existe deux processus internes lors du chargement d’un modèle sur l’unité de traitement de la vision :

  1. Analyser le graphique
  2. Allouer le graphique

Pendant le processus de chargement, les graphiques VPU analysés sont envoyés au matériel, étape par étape, par xlink depuis l’hôte.

Le chargement d’un modèle à partir d’un objet blob peut réduire considérablement le temps nécessaire à certains modèles, mais il est possible que cela ne fonctionne pas pour tous les modèles.

Outre la taille du modèle, le temps de chargement dépend du type de couche, de la taille des données d’entrée, etc.

Le plug-in HDDL est plus efficace que le plug-in MYRIAD lors du chargement du modèle à partir d’un objet blob.

Suivez ces étapes pour activer le plug-in HDDL au lieu du plug-in MYRIAD sur le Stick de calcul neuronal Intel® 2 :

  1. Définir autoboot_settings:abort_if_hw_reset_failed to false in $HDDL_INSTALL_DIR/config/hddl_autoboot.config.
  2. Définir autoboot_settings:total_device_num to 1.
  3. Démarrer hddldaemon.

Produits associés

Cet article concerne 2 produits

Le contenu de cette page est une combinaison de traduction humaine et informatique du contenu original en anglais. Ce contenu vous est fourni pour votre commodité et à titre informatif seulement et ne saurait être totalement exact ou complet. En cas de contradiction entre la version anglaise de cette page et la traduction, c'est la version anglaise qui prévaut. Afficher la version anglaise de cette page.