Vereisten installeren en NVIDIA Triton-deductieserver
In deze sectie hebben we op afstand toegang tot onze virtuele machine om de geïnstalleerde pakketten bij te werken. We installeren ook een Python-ontwikkelomgeving en configureren deze met de vereiste software om uitvoering van de OnNX-runtime (Open Neural Network Exchange) mogelijk te maken. Om te voldoen aan de NVIDIA Triton-deductieserver, halen we een container met een volledige installatie van de hulpprogramma's om ons in staat te stellen een deductieworkload uit te voeren op onze virtuele machine.
Vereisten installeren en NVIDIA Triton-deductieserver
Open de gewenste terminalemulator. Ter illustratie gebruiken we Windows Terminal, omdat meerdere vensters gelijktijdig met de virtuele machine kunnen worden verbonden. We gebruiken één venster om de Triton Server te starten, één venster om een Python-script uit te voeren en één om afbeeldingen te kopiëren naar een map voor verwerking via de CLI. Met Windows Terminal hebt u ook uw keuze uit CLI-ervaring, PowerShell, opdrachtprompt, Ubuntu-18.04 (als WSL-2 is geïnstalleerd) of Azure Cloud Shell.
Kopieer de gebruikersnaam die u hebt gebruikt om de virtuele machine in de vorige fase in te stellen en voer vervolgens de volgende opdracht uit:
ssh <username>@<your VM IP address>
Hiermee wordt u gevraagd om het wachtwoord dat u eerder hebt opgeslagen in de teksteditor. Kopieer deze waarde en klik met de rechtermuisknop op de opdrachtregel om te plakken. Als u zich voor het eerst aanmeldt, ziet u het volgende bericht:
Nu gaan we in een aantal pakketten laden die het Python-script correct moet uitvoeren. Voer op de opdrachtregel het volgende in:
sudo apt update sudo apt install -y python3-pip python3-dev nano wget
Voordat u de vereiste Python-pakketten installeert, willen we toevoegen
/home/\<your username\>/.local/bin
aan het PATH door de volgende stappen uit te voeren in de CLI:sudo nano ~/.bashrc
Pijl naar de onderkant van dit bestand in de editor en voeg de volgende regel toe:
export PATH=/home/<your username>/.local/bin:$PATH
Druk op Ctrl+O en druk op Enter om het bestand op te slaan en druk vervolgens op Ctrl+X om af te sluiten. Voer op de opdrachtregel het volgende uit:
source ~/.bashrc
Met deze opdracht wordt de configuratie voor de server opnieuw geladen die moet worden opgenomen
.local/bin
in het PATH.Nu we de Ubuntu-pakketvereisten hebben geladen en de map hebben toegevoegd aan PATH, gaan we de vereiste Python-pakketten installeren. Kopieer elke regel afzonderlijk om uit te voeren in het terminalvenster.
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
Als u een VM met Nvidia GPU gebruikt, kunt u onnxruntime-gpu gebruiken in plaats van onnxruntime om te profiteren van de CUDA/cuDNN-versnelling.
We hebben een containerengine nodig om de Triton Server-container van Nvidia uit te voeren. Microsoft heeft een distributie van deze containerruntime, die kan worden geïnstalleerd met behulp van de volgende opdrachten:
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
Nu kunnen we Moby installeren:
sudo apt update sudo apt install -y moby-engine sudo apt update
Nu zijn we klaar om de container voor de Triton-server op te halen uit de NVIDIA NGC-opslagplaats. U kunt de container ook ophalen tijdens de opdracht 'docker run' wanneer we bij die stap komen, maar om het eenvoudig te maken, doen we de pull nu. Voer in de terminalemulator het volgende uit:
sudo docker pull nvcr.io/nvidia/tritonserver:20.11-py3
Dit proces duurt enige tijd om de containerlagen te downloaden en te extraheren.
Nu zijn we klaar om de
demo
map naar de virtuele machine (VM) te kopiëren. Download het demo.zip-bestand uit de opslagplaats. Pak het bestand lokaal uit op uw pc. Open een opdrachtpromptvenster in het hulpprogramma of open een ander venster in Windows Terminal. Afhankelijk van waar u de bestanden hebt uitgepakt, voert u de volgende opdracht uit in de CLI:scp -r <path to unzipped>/demo <your username>@<x.x.x.x vm IP address>:/home/<your username>/
Zodra deze bestanden naar de virtuele machine zijn gekopieerd, gaan we terug naar het terminalvenster dat is verbonden met de virtuele machine en stellen we de machtigingen voor deze map in. Voer in de CLI het volgende in:
sudo chmod -R 777 demo