Installer les prérequis et NVIDIA Triton Inference Server
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
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.
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 :
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.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.
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
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.
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 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