Requisitos previos de instalación y el servidor de inferencia de NVIDIA Triton
En esta sección, accederemos a la máquina virtual de forma remota para actualizar los paquetes instalados actualmente. También instalamos un entorno de desarrollo de Python y lo configuramos con el software necesario para habilitar la ejecución del runtime de Open Neural Network Exchange (ONNX). Para satisfacer el servidor de inferencia de NVIDIA Triton, extraeremos un contenedor con una instalación completa de las herramientas para permitirnos ejecutar una carga de trabajo de inferencia en nuestra máquina virtual.
Requisitos previos de instalación y el servidor de inferencia de NVIDIA Triton
Abra el emulador de terminal que prefiera. Por ejemplo, usaremos Terminal Windows porque permite que varias ventanas se conecten de forma simultánea a la máquina virtual. Usaremos una ventana para iniciar Triton Server, una ventana para ejecutar un script de Python y otra para copiar imágenes en un directorio para su procesamiento a través de la CLI. Con Terminal Windows, también tiene la experiencia de la CLI, PowerShell, símbolo del sistema, Ubuntu-18.04 (si WSL-2 está instalado) o Azure Cloud Shell.
Copie el nombre de usuario que usó para configurar la máquina virtual en la fase anterior y, a continuación, ejecute el siguiente comando:
ssh <username>@<your VM IP address>
Esto le pedirá la contraseña que guardó anteriormente en el editor de texto. Copie este valor y haga clic con el botón derecho en la línea de comandos que se va a pegar. Si inicia sesión por primera vez, verá el siguiente mensaje:
Ahora vamos a cargar algunos paquetes que nuestro script de Python necesita para ejecutarse correctamente. En la línea de comandos, escriba:
sudo apt update sudo apt install -y python3-pip python3-dev nano wget
Antes de instalar los paquetes de Python necesarios, queremos agregar
/home/\<your username\>/.local/bin
a la RUTA DE ACCESO siguiendo los siguientes pasos en la CLI:sudo nano ~/.bashrc
Flecha a la parte inferior de este archivo en el editor y agregue la siguiente línea:
export PATH=/home/<your username>/.local/bin:$PATH
Presione Ctrl + O y presione Entrar para guardar el archivo y, a continuación, presione Ctrl + X para salir. En la línea de comandos, ejecute lo siguiente:
source ~/.bashrc
Este comando vuelve a cargar la configuración del servidor que se va a incluir
.local/bin
en la RUTA DE ACCESO.Ahora que hemos cargado los requisitos del paquete de Ubuntu y agregado el directorio a la RUTA DE ACCESO, vamos a instalar los paquetes de Python necesarios. Copie cada línea individualmente para ejecutarse en la ventana del 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 usa una máquina virtual compatible con GPU de Nvidia, puede usar onnxruntime-gpu en lugar de onnxruntime para aprovechar la aceleración CUDA/cuDNN.
Para ejecutar el contenedor del servidor Triton desde Nvidia, vamos a necesitar un motor de contenedor. Microsoft tiene una distribución de este entorno de ejecución de contenedor, que se puede instalar mediante los siguientes comandos:
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
Ahora podemos instalar Moby:
sudo apt update sudo apt install -y moby-engine sudo apt update
Ahora, estamos listos para extraer el contenedor del servidor Triton del repositorio NVIDIA NGC. También puede extraer el contenedor durante el comando 'docker run' cuando lleguemos a ese paso, pero para simplificar, haremos la extracción ahora. En el emulador de terminal, ejecute:
sudo docker pull nvcr.io/nvidia/tritonserver:20.11-py3
Este proceso tardará algún tiempo en descargar las capas de contenedor y extraerlas.
Ahora estamos listos para copiar el directorio
demo
en la máquina virtual (VM). Descargue el archivo demo.zip desde el repositorio. Descomprima el archivo localmente en su PC. Abra una ventana del símbolo del sistema, ya sea en la utilidad, o abra otra ventana en Terminal Windows. En función de dónde descomprima los archivos, ejecute el siguiente comando en la CLI:scp -r <path to unzipped>/demo <your username>@<x.x.x.x vm IP address>:/home/<your username>/
Una vez que tengamos estos archivos copiados en la máquina virtual, vamos a volver a cambiar a la ventana del terminal conectada a la máquina virtual y establecer los permisos para este directorio. En la CLI, escriba:
sudo chmod -R 777 demo