Meet YOLO26: next-gen vision AI.

Link to this sectionUm guia para implantar o YOLO26 nos Endpoints do Amazon SageMaker#

Implantar modelos avançados de visão computacional, como o YOLO26 da Ultralytics, nos Endpoints do Amazon SageMaker abre uma ampla gama de possibilidades para várias aplicações de aprendizado de máquina. A chave para usar esses modelos de forma eficaz reside na compreensão de seus processos de configuração e implantação. O YOLO26 torna-se ainda mais poderoso quando integrado perfeitamente ao Amazon SageMaker, um serviço de aprendizado de máquina robusto e escalável da AWS.

Este guia conduzirá você pelo processo de implantação de modelos PyTorch do YOLO26 nos Endpoints do Amazon SageMaker, passo a passo. Você aprenderá o essencial sobre como preparar seu ambiente AWS, configurar o modelo adequadamente e usar ferramentas como o AWS CloudFormation e o AWS Cloud Development Kit (CDK) para implantação.

Link to this sectionAmazon SageMaker#

Amazon SageMaker ML platform architecture

O Amazon SageMaker é um serviço de aprendizado de máquina da Amazon Web Services (AWS) que simplifica o processo de criar, treinar e implantar modelos de aprendizado de máquina. Ele oferece uma ampla gama de ferramentas para lidar com vários aspectos dos fluxos de trabalho de aprendizado de máquina. Isso inclui recursos automatizados para ajustar modelos, opções para treinar modelos em escala e métodos diretos para implantar modelos em produção. O SageMaker oferece suporte a frameworks de aprendizado de máquina populares, oferecendo a flexibilidade necessária para diversos projetos. Seus recursos também abrangem rotulagem de dados, gerenciamento de fluxo de trabalho e análise de desempenho.

Link to this sectionImplantando o YOLO26 nos Endpoints do Amazon SageMaker#

Implantar o YOLO26 no Amazon SageMaker permite que você use seu ambiente gerenciado para inferência em tempo real e aproveite recursos como o escalonamento automático. Confira a arquitetura da AWS abaixo.

AWS SageMaker YOLO training architecture

Link to this sectionPasso 1: Configure seu ambiente AWS#

Primeiro, certifique-se de ter os seguintes pré-requisitos em vigor:

  • Uma conta da AWS: Se você ainda não tem uma, inscreva-se para obter uma conta da AWS.

  • Funções IAM configuradas: Você precisará de uma função IAM com as permissões necessárias para o Amazon SageMaker, AWS CloudFormation e Amazon S3. Essa função deve ter políticas que permitam o acesso a esses serviços.

  • AWS CLI: Se ainda não estiver instalado, baixe e instale a interface de linha de comando (CLI) da AWS e configure-a com os detalhes da sua conta. Siga as instruções do AWS CLI para a instalação.

  • AWS CDK: Se ainda não estiver instalado, instale o AWS Cloud Development Kit (CDK), que será usado para criar scripts da implantação. Siga as instruções do AWS CDK para a instalação.

  • Cota de serviço adequada: Confirme se você tem cotas suficientes para dois recursos separados no Amazon SageMaker: um para ml.m5.4xlarge para uso de endpoint e outro para ml.m5.4xlarge para uso de instância de notebook. Cada um desses requer um valor mínimo de cota. Se suas cotas atuais estiverem abaixo desse requisito, é importante solicitar um aumento para cada uma. Você pode solicitar um aumento de cota seguindo as instruções detalhadas na documentação do AWS Service Quotas.

Link to this sectionPasso 2: Clone o repositório do YOLO26 no SageMaker#

O próximo passo é clonar o repositório específico da AWS que contém os recursos para implantar o YOLO26 no SageMaker. Este repositório, hospedado no GitHub, inclui os scripts CDK e arquivos de configuração necessários.

  • Clone o repositório do GitHub: Execute o seguinte comando no seu terminal para clonar o repositório host-yolov8-on-sagemaker-endpoint:

    git clone https://github.com/aws-samples/host-yolov8-on-sagemaker-endpoint.git
  • Navegue até o diretório clonado: Altere seu diretório para o repositório clonado:

    cd host-yolov8-on-sagemaker-endpoint/yolov8-pytorch-cdk

Link to this sectionPasso 3: Configure o ambiente CDK#

Agora que você tem o código necessário, configure seu ambiente para a implantação com o AWS CDK.

  • Crie um ambiente virtual Python: Isso isola seu ambiente Python e dependências. Execute:

    python3 -m venv .venv
  • Ative o ambiente virtual:

    source .venv/bin/activate
  • Instale as dependências: Instale as dependências Python necessárias para o projeto:

    pip3 install -r requirements.txt
  • Atualize a biblioteca AWS CDK: Certifique-se de ter a versão mais recente da biblioteca AWS CDK:

    pip install --upgrade aws-cdk-lib

Link to this sectionPasso 4: Crie a Stack do AWS CloudFormation#

  • Sintetize a aplicação CDK: Gere o modelo do AWS CloudFormation a partir do seu código CDK:

    cdk synth
  • Bootstrap da aplicação CDK: Prepare seu ambiente AWS para a implantação CDK:

    cdk bootstrap
  • Implante a Stack: Isso criará os recursos necessários da AWS e implantará seu modelo:

    cdk deploy

Link to this sectionPasso 5: Implante o modelo YOLO#

Antes de mergulhar nas instruções de implantação, certifique-se de conferir a gama de modelos YOLO26 oferecidos pela Ultralytics. Isso ajudará você a escolher o modelo mais apropriado para os requisitos do seu projeto.

Após criar a Stack do AWS CloudFormation, o próximo passo é implantar o YOLO26.

  • Abra a instância de notebook: Vá para o console da AWS e navegue até o serviço Amazon SageMaker. Selecione "Notebook Instances" (Instâncias de Notebook) no painel, localize a instância de notebook criada pelo seu script de implantação CDK. Abra a instância de notebook para acessar o ambiente Jupyter.

  • Acesse e modifique inference.py: Após abrir a instância de notebook do SageMaker no Jupyter, localize o arquivo inference.py. Edite a função output_fn no inference.py conforme mostrado abaixo e salve suas alterações no script, garantindo que não haja erros de sintaxe.

    import json
    
    def output_fn(prediction_output):
        """Formats model outputs as JSON string, extracting attributes like boxes, masks, keypoints."""
        print("Executing output_fn from inference.py ...")
        infer = {}
        for result in prediction_output:
            if result.boxes is not None:
                infer["boxes"] = result.boxes.numpy().data.tolist()
            if result.masks is not None:
                infer["masks"] = result.masks.numpy().data.tolist()
            if result.keypoints is not None:
                infer["keypoints"] = result.keypoints.numpy().data.tolist()
            if result.obb is not None:
                infer["obb"] = result.obb.numpy().data.tolist()
            if result.probs is not None:
                infer["probs"] = result.probs.numpy().data.tolist()
        return json.dumps(infer)
  • Implante o Endpoint usando 1_DeployEndpoint.ipynb: No ambiente Jupyter, abra o notebook 1_DeployEndpoint.ipynb localizado no diretório sm-notebook. Siga as instruções no notebook e execute as células para baixar o modelo YOLO26, empacotá-lo com o código de inferência atualizado e carregá-lo em um bucket do Amazon S3. O notebook guiará você pela criação e implantação de um endpoint do SageMaker para o modelo YOLO26.

Link to this sectionPasso 6: Testando sua implantação#

Agora que seu modelo YOLO26 está implantado, é importante testar seu desempenho e funcionalidade.

  • Abra o notebook de teste: No mesmo ambiente Jupyter, localize e abra o notebook 2_TestEndpoint.ipynb, também no diretório sm-notebook.

  • Execute o notebook de teste: Siga as instruções no notebook para testar o endpoint implantado do SageMaker. Isso inclui enviar uma imagem para o endpoint e realizar inferências. Em seguida, você plotará a saída para visualizar o desempenho e a precisão do modelo, como mostrado abaixo.

Testing Results YOLO26

  • Limpeza de recursos: O notebook de teste também guiará você pelo processo de limpeza do endpoint e do modelo hospedado. Este é um passo importante para gerenciar custos e recursos de forma eficaz, especialmente se você não planeja usar o modelo implantado imediatamente.

Link to this sectionPasso 7: Monitoramento e gerenciamento#

Após os testes, o monitoramento e o gerenciamento contínuos do seu modelo implantado são essenciais.

  • Monitore com o Amazon CloudWatch: Verifique regularmente o desempenho e a integridade do seu endpoint do SageMaker usando o Amazon CloudWatch.

  • Gerencie o endpoint: Use o console do SageMaker para o gerenciamento contínuo do endpoint. Isso inclui escalar, atualizar ou reimplantar o modelo conforme necessário.

Ao concluir essas etapas, você terá implantado e testado com sucesso um modelo YOLO26 nos Endpoints do Amazon SageMaker. Este processo não apenas equipa você com experiência prática no uso de serviços da AWS para implantação de aprendizado de máquina, mas também estabelece a base para a implantação de outros modelos avançados no futuro.

Link to this sectionResumo#

Este guia conduziu você passo a passo pela implantação do YOLO26 nos Endpoints do Amazon SageMaker usando o AWS CloudFormation e o AWS Cloud Development Kit (CDK). O processo inclui clonar o repositório do GitHub necessário, configurar o ambiente CDK, implantar o modelo usando os serviços da AWS e testar seu desempenho no SageMaker.

Para obter mais detalhes técnicos, consulte este artigo no Blog de Aprendizado de Máquina da AWS. Você também pode conferir a documentação oficial do Amazon SageMaker para obter mais insights sobre vários recursos e funcionalidades.

Você tem interesse em saber mais sobre diferentes integrações do YOLO26? Visite a página de guia de integrações da Ultralytics para descobrir ferramentas e recursos adicionais que podem aprimorar seus projetos de aprendizado de máquina.

Link to this sectionFAQ#

Link to this sectionComo implanto o modelo YOLO26 da Ultralytics nos Endpoints do Amazon SageMaker?#

Para implantar o modelo YOLO26 da Ultralytics nos Endpoints do Amazon SageMaker, siga estas etapas:

  1. Configure seu ambiente AWS: Certifique-se de ter uma conta da AWS, funções IAM com as permissões necessárias e o AWS CLI configurado. Instale o AWS CDK se ainda não o fez (consulte as instruções do AWS CDK).
  2. Clone o repositório do YOLO26 no SageMaker:
    git clone https://github.com/aws-samples/host-yolov8-on-sagemaker-endpoint.git
    cd host-yolov8-on-sagemaker-endpoint/yolov8-pytorch-cdk
  3. Configure o ambiente CDK: Crie um ambiente virtual Python, ative-o, instale as dependências e atualize a biblioteca AWS CDK.
    python3 -m venv .venv
    source .venv/bin/activate
    pip3 install -r requirements.txt
    pip install --upgrade aws-cdk-lib
  4. Implante usando o AWS CDK: Sintetize e implante a stack do CloudFormation, faça o bootstrap do ambiente.
    cdk synth
    cdk bootstrap
    cdk deploy

Para mais detalhes, revise a seção de documentação.

Link to this sectionQuais são os pré-requisitos para implantar o YOLO26 no Amazon SageMaker?#

Para implantar o YOLO26 no Amazon SageMaker, certifique-se de ter os seguintes pré-requisitos:

  1. Conta da AWS: Conta da AWS ativa (inscreva-se aqui).
  2. Funções IAM: Funções IAM configuradas com permissões para SageMaker, CloudFormation e Amazon S3.
  3. AWS CLI: Interface de linha de comando da AWS instalada e configurada (guia de instalação do AWS CLI).
  4. AWS CDK: AWS Cloud Development Kit instalado (guia de configuração do CDK).
  5. Cotas de serviço: Cotas suficientes para instâncias ml.m5.4xlarge tanto para uso de endpoint quanto de notebook (solicite um aumento de cota).

Para uma configuração detalhada, consulte esta seção.

Link to this sectionPor que devo usar o YOLO26 da Ultralytics no Amazon SageMaker?#

Usar o YOLO26 da Ultralytics no Amazon SageMaker oferece várias vantagens:

  1. Escalabilidade e Gerenciamento: O SageMaker oferece um ambiente gerenciado com recursos como escalonamento automático, que auxilia nas necessidades de inferência em tempo real.
  2. Integração com serviços da AWS: Integre perfeitamente com outros serviços da AWS, como o S3 para armazenamento de dados, o CloudFormation para infraestrutura como código e o CloudWatch para monitoramento.
  3. Facilidade de implantação: Configuração simplificada usando scripts AWS CDK e processos de implantação otimizados.
  4. Desempenho: Aproveite a infraestrutura de alto desempenho do Amazon SageMaker para executar tarefas de inferência em larga escala com eficiência.

Explore mais sobre as vantagens de usar o SageMaker na seção de introdução.

Link to this sectionPosso personalizar a lógica de inferência para o YOLO26 no Amazon SageMaker?#

Sim, você pode personalizar a lógica de inferência para o YOLO26 no Amazon SageMaker:

  1. Modifique inference.py: Localize e personalize a função output_fn no arquivo inference.py para ajustar os formatos de saída.

    import json
    
    def output_fn(prediction_output):
        """Formats model outputs as JSON string, extracting attributes like boxes, masks, keypoints."""
        infer = {}
        for result in prediction_output:
            if result.boxes is not None:
                infer["boxes"] = result.boxes.numpy().data.tolist()
            # Add more processing logic if necessary
        return json.dumps(infer)
  2. Implante o modelo atualizado: Certifique-se de reimplantar o modelo usando os notebooks Jupyter fornecidos (1_DeployEndpoint.ipynb) para incluir essas alterações.

Consulte as etapas detalhadas para implantar o modelo modificado.

Link to this sectionComo posso testar o modelo YOLO26 implantado no Amazon SageMaker?#

Para testar o modelo YOLO26 implantado no Amazon SageMaker:

  1. Abra o notebook de teste: Localize o notebook 2_TestEndpoint.ipynb no ambiente Jupyter do SageMaker.
  2. Execute o notebook: Siga as instruções do notebook para enviar uma imagem para o endpoint, realizar a inferência e exibir os resultados.
  3. Visualize os resultados: Use as funcionalidades de plotagem integradas para visualizar métricas de desempenho, como caixas delimitadoras ao redor de objetos detectados.

Para instruções abrangentes de teste, visite a seção de testes.

Comentários