Installer les prérequis et NVIDIA Triton Inference Server

Effectué

Dans cette section, nous accédons à notre machine virtuelle à distance pour mettre à jour les packages actuellement installés. Nous installons également un environnement de développement Python et le configurons avec le logiciel requis pour permettre l’exécution du runtime ONNX (Open Neural Network Exchange). Pour satisfaire NVIDIA Triton Inference Server, nous extrayons un conteneur avec une installation complète de l’outil pour nous permettre d’exécuter une charge de travail d’inférence sur notre machine virtuelle.

Installer les prérequis et NVIDIA Triton Inference Server

  1. Ouvrez l’émulateur de terminal de votre choix. Pour illustrer, nous utilisons le Terminal Windows, car il permet à plusieurs fenêtres d’être connectées simultanément à la machine virtuelle. Nous utilisons une fenêtre pour démarrer le serveur Triton, une fenêtre pour exécuter un script Python et une pour copier les images dans un répertoire pour traitement via l’interface CLI. Avec le Terminal Windows, vous avez également le choix de votre expérience CLI : PowerShell, Invite de commandes, Ubuntu-18.04 (si WSL-2 est installé) ou Azure Cloud Shell.

  2. Copiez le nom d’utilisateur que vous avez utilisé pour configurer la machine virtuelle à l’étape précédente, puis exécutez la commande suivante :

    ssh <username>@<your VM IP address>
    

    Vous êtes invité à entrer le mot de passe que vous avez enregistré précédemment dans votre éditeur de texte. Copiez cette valeur, puis cliquez avec le bouton droit dans la ligne de commande pour la coller. Si vous vous connectez pour la première fois, vous voyez le message suivant :

    Une capture d’écran montrant une connexion réussie à la machine virtuelle.

  3. Maintenant, nous allons charger quelques packages que notre script Python doit exécuter correctement. Sur la ligne de commande, entrez :

    sudo apt update
    sudo apt install -y python3-pip python3-dev nano wget
    

    Avant d’installer les packages Python requis, nous voulons ajouter /home/\<your username\>/.local/bin au chemin d’accès en effectuant les étapes suivantes dans l’interface CLI :

    sudo nano ~/.bashrc
    

    Utilisez la flèche pour descendre dans ce fichier dans l’éditeur et ajoutez la ligne suivante :

    export PATH=/home/<your username>/.local/bin:$PATH
    

    Appuyez sur Ctrl + O, puis sur Entrée pour enregistrer le fichier, puis appuyez sur Ctrl + X pour quitter. Sur la ligne de commande, exécutez :

    source ~/.bashrc
    

    Cette commande recharge la configuration du serveur à inclure .local/bin dans le chemin d’accès.

  4. Maintenant que nous avons chargé les éléments requis du package Ubuntu et ajouté le répertoire à PATH, nous allons installer les packages Python requis. Copiez individuellement chaque ligne à exécuter dans la fenêtre du terminal.

    python3 -m pip install --upgrade pip wheel setuptools
    
    python3 -m pip install numpy>=1.19.0 opencv-contrib-python-headless tritonclient geventhttpclient
    
    python3 -m pip install
    
    torch torchvision pandas tqdm PyYAML scipy seaborn requests pybind11 pytest protobuf objdict onnxruntime
    

    Si vous utilisez une machine virtuelle compatible GPU Nvidia, vous pouvez utiliser onnxruntime-gpu au lieu d’onnxruntime pour tirer parti de l’accélération CUDA/cuDNN.

  5. Pour exécuter le conteneur de Triton Server à partir de Nvidia, nous avons besoin d’un moteur de conteneur. Microsoft dispose d’une distribution de ce runtime de conteneur, qui peut être installé à l’aide des commandes suivantes :

    wget https://packages.microsoft.com/config/ubuntu/18.04/multiarch/packages-microsoft-prod.deb -O packages-microsoft-prod.deb
    
    sudo dpkg -i packages-microsoft-prod.deb
    
    rm packages-microsoft-prod.deb
    

    Maintenant, nous pouvons installer Moby :

    sudo apt update
    
    sudo apt install -y moby-engine
    
    sudo apt update
    
  6. Maintenant, nous sommes prêts à extraire le conteneur pour Triton Server à partir du référentiel NGC NVIDIA. Vous pouvez également extraire le conteneur pendant la commande « docker run » quand nous arrivons à cette étape, mais pour faire simple, nous effectuons l’extraction maintenant. Dans l’émulateur du terminal, exécutez :

    sudo docker pull nvcr.io/nvidia/tritonserver:20.11-py3
    

    Ce processus prend un certain temps à télécharger les couches de conteneur et à les extraire.

    Une capture d’écran affichant la commande docker pull en cours d’exécution.

  7. Maintenant, nous sommes prêts à copier le répertoire demo sur la machine virtuelle. Téléchargez le fichier demo.zip à partir du référentiel. Décompressez le fichier localement sur votre PC. Ouvrez une fenêtre d’invite de commandes, soit dans l’utilitaire, soit ouvrez une autre fenêtre dans le Terminal Windows. Selon l’emplacement où vous avez décompressé les fichiers, exécutez la commande suivante dans l’interface CLI :

    scp -r <path to unzipped>/demo <your username>@<x.x.x.x vm IP address>:/home/<your username>/
    

    Une capture d’écran montrant la commande scp en bon fonctionnement.

  8. Une fois ces fichiers copiés sur la machine virtuelle, revenons à la fenêtre du terminal connectée à la machine virtuelle et définissons les autorisations pour ce répertoire. Dans l’interface CLI, entrez :

    sudo chmod -R 777 demo