Requisitos previos de instalación y el servidor de inferencia de NVIDIA Triton

Completado

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

  1. 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.

  2. 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:

    Captura de pantalla que muestra un inicio de sesión correcto en la máquina virtual.

  3. 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.

  4. 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.

  5. 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
    
  6. 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.

    Captura de pantalla que muestra el comando docker pull en curso.

  7. 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>/
    

    Captura de pantalla que muestra el comando scp que se ejecuta correctamente.

  8. 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