Instalar pré-requisitos e o Servidor de Inferência NVIDIA Triton

Concluído

Nesta seção, acessaremos nossa máquina virtual remotamente para atualizar os pacotes que estão instalados. Também instalaremos um ambiente de desenvolvimento do Python e o configuraremos com o software de pré-requisito para habilitar a execução do runtime do ONNX (Open Neural Network Exchange). Para satisfazer o Servidor de Inferência NVIDIA Triton, efetuamos pull de um contêiner com uma instalação completa das ferramentas para nos permitir executar uma carga de trabalho de inferência em nossa máquina virtual.

Instalar pré-requisitos e o Servidor de Inferência NVIDIA Triton

  1. Abra o emulador de terminal de sua preferência. Para ilustração, usamos o Terminal do Windows, pois ele permite que várias janelas sejam conectadas simultaneamente à máquina virtual. Usamos uma janela para iniciar o Servidor Triton, uma janela para executar um script do Python e outra para copiar imagens para um diretório para processamento por meio da CLI. Com o Terminal do Windows, você também tem a experiência de CLI de sua preferência: PowerShell, Prompt de Comando, Ubuntu-18.04 (se o WSL-2 estiver instalado) ou o Azure Cloud Shell.

  2. Copie o nome de usuário usado para configurar a máquina virtual no estágio anterior e execute o seguinte comando:

    ssh <username>@<your VM IP address>
    

    Isso solicita a senha que você salvou anteriormente no seu editor de texto. Copie esse valor e clique com o botão direito do mouse na linha de comando para colar. Se você estiver entrando pela primeira vez, verá a seguinte mensagem:

    Uma captura de tela mostrando um logon bem-sucedido na máquina virtual.

  3. Agora, vamos carregar alguns pacotes que o script do Python precisa para executar corretamente. Na linha de comando, insira:

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

    Antes de instalar os pacotes necessários do Python, queremos adicionar /home/\<your username\>/.local/bin ao PATH seguindo as seguintes etapas na CLI:

    sudo nano ~/.bashrc
    

    Clique na parte inferior deste arquivo no editor e adicione a seguinte linha:

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

    Pressione Ctrl + O e pressione Enter para salvar o arquivo. Em seguida, pressione Ctrl + X para sair. Na linha de comando, execute:

    source ~/.bashrc
    

    Esse comando recarrega a configuração para o servidor incluir .local/bin no PATH.

  4. Agora que carregamos os requisitos do pacote do Ubuntu e adicionamos o diretório ao PATH, vamos instalar os pacotes necessários do Python. Copie cada linha individualmente para ser executada na janela do 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
    

    Se você estiver usando uma VM compatível com GPU Nvidia, use onnxruntime-gpu em vez de onnxruntime para aproveitar a aceleração CUDA/cuDNN.

  5. Para executar o contêiner do Servidor Triton da Nvidia, precisamos de um mecanismo de contêiner. A Microsoft tem uma distribuição desse runtime de contêiner, que pode ser instalado usando os seguintes 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
    

    Agora podemos instalar o Moby:

    sudo apt update
    
    sudo apt install -y moby-engine
    
    sudo apt update
    
  6. Agora, estamos prontos para efetuar pull do contêiner do repositório NVIDIA NGC para o Servidor Triton. Você também poderá efetuar pull do contêiner ao executar o comando "docker run" quando chegarmos a essa etapa, mas, para simplificar, fazemos o pull agora. No emulador de terminal, execute:

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

    Esse processo leva um tempo para baixar as camadas de contêiner e extraí-las.

    Uma captura de tela mostrando o comando docker pull em andamento.

  7. Agora estamos’prontos para copiar o diretório demo para a VM (máquina virtual). Baixe o arquivo demo.zip do repositório. Descompacte o arquivo localmente no seu computador. Abra uma janela do prompt de comando, seja no utilitário ou em outra janela no Terminal do Windows. Dependendo do local em que você descompactou os arquivos, execute o seguinte comando na CLI:

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

    Uma captura de tela mostrando o comando scp em execução com êxito.

  8. Depois de copiarmos esses arquivos para a máquina virtual, vamos voltar para a janela do terminal conectada à máquina virtual e definir as permissões para esse diretório. Na CLI, insira:

    sudo chmod -R 777 demo