Instalar pré-requisitos e o Servidor de Inferência NVIDIA Triton
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
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.
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:
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.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.
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
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.
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>/
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