Saltar para o conteúdo

YOLO11 Exportação de modelos para TorchScript para uma implementação rápida

A implantação de modelos de visão computacional em diferentes ambientes, incluindo sistemas incorporados, navegadores da Web ou plataformas com suporte limitado ao Python , requer uma solução flexível e portátil. O TorchScript se concentra na portabilidade e na capacidade de executar modelos em ambientes onde toda a estrutura do Python não está disponível. Isto torna-o ideal para cenários em que é necessário implementar as capacidades de visão computacional em vários dispositivos ou plataformas.

Exporte para Torchscript para serializar seus Ultralytics YOLO11 para compatibilidade entre plataformas e implantação simplificada. Neste guia, vamos mostrar-lhe como exportar os seus modelos YOLO11 para o formato TorchScript , facilitando a sua utilização numa vasta gama de aplicações.

Porque é que deve exportar para TorchScript?

Torchscript Visão geral

Desenvolvido pelos criadores de PyTorch, TorchScript é uma ferramenta poderosa para otimizar e implementar modelos PyTorch numa variedade de plataformas. A exportação de modelos YOLO11 para TorchScript é crucial para passar da investigação para aplicações do mundo real. TorchScript O PyTorch , parte da estrutura PyTorch , ajuda a tornar essa transição mais suave, permitindo que os modelos sejam usados em ambientes que não suportam Python.

O processo envolve duas técnicas: rastreio e elaboração de scripts. O rastreio regista as operações durante a execução do modelo, enquanto o scripting permite a definição de modelos utilizando um subconjunto de Python. Estas técnicas garantem que modelos como YOLO11 podem continuar a fazer a sua magia mesmo fora do seu ambiente Python habitual.

TorchScript Script e rastreio

TorchScript Os modelos também podem ser optimizados através de técnicas como a fusão de operadores e refinamentos na utilização da memória, garantindo uma execução eficiente. Outra vantagem da exportação para TorchScript é o seu potencial para acelerar a execução do modelo em várias plataformas de hardware. Cria uma representação autónoma e pronta para produção do seu modelo PyTorch que pode ser integrada em ambientes C++, sistemas incorporados ou implementada em aplicações Web ou móveis.

Principais caraterísticas dos modelos TorchScript

TorchScript, uma parte essencial do ecossistema PyTorch , fornece funcionalidades poderosas para otimizar e implementar modelos de aprendizagem profunda.

TorchScript Caraterísticas

Eis as principais caraterísticas que tornam o TorchScript uma ferramenta valiosa para os programadores:

  • Execução gráfica estática: TorchScript utiliza uma representação gráfica estática da computação do modelo, o que é diferente da execução gráfica dinâmica de PyTorch. Na execução de gráficos estáticos, o gráfico computacional é definido e compilado uma vez antes da execução efectiva, o que resulta num melhor desempenho durante a inferência.

  • Serialização de modelos: TorchScript permite-lhe serializar modelos PyTorch num formato independente da plataforma. Os modelos serializados podem ser carregados sem a necessidade do código Python original, permitindo a implantação em diferentes ambientes de tempo de execução.

  • Compilação JIT: TorchScript utiliza a compilação Just-In-Time (JIT) para converter os modelos PyTorch numa representação intermédia optimizada. O JIT compila o gráfico computacional do modelo, permitindo uma execução eficiente nos dispositivos alvo.

  • Integração entre linguagens: Com TorchScript, é possível exportar modelos PyTorch para outras linguagens, como C++, Java e JavaScript. Isto facilita a integração de modelos PyTorch em sistemas de software existentes escritos em diferentes linguagens.

  • Conversão gradual: TorchScript fornece uma abordagem de conversão gradual, permitindo-lhe converter incrementalmente partes do seu modelo PyTorch para TorchScript. Esta flexibilidade é particularmente útil quando se lida com modelos complexos ou quando se pretende otimizar partes específicas do código.

Opções de implantação em TorchScript

Antes de analisarmos o código para exportar os modelos YOLO11 para o formato TorchScript , vamos compreender onde os modelos TorchScript são normalmente utilizados.

TorchScript oferece várias opções de implementação para modelos de aprendizagem automática, tais como:

  • API C++: O caso de utilização mais comum do TorchScript é a sua API C++, que permite carregar e executar modelos TorchScript optimizados diretamente em aplicações C++. Isso é ideal para ambientes de produção em que o Python pode não ser adequado ou estar disponível. A API C++ oferece execução eficiente e de baixo custo dos modelos TorchScript , maximizando o potencial de desempenho.

  • Implementação móvel: TorchScript oferece ferramentas para converter modelos em formatos facilmente implementáveis em dispositivos móveis. PyTorch O telemóvel fornece um tempo de execução para executar estes modelos nas aplicações iOS e Android . Isto permite capacidades de inferência offline e de baixa latência, melhorando a experiência do utilizador e a privacidade dos dados.

  • Implantação na nuvem: os modelos TorchScript podem ser implantados em servidores baseados na nuvem usando soluções como o TorchServe. Ele fornece recursos como versionamento de modelos, lotes e monitoramento de métricas para implantação escalonável em ambientes de produção. A implantação na nuvem com TorchScript pode tornar seus modelos acessíveis por meio de APIs ou outros serviços da Web.

Exportar para TorchScript: Conversão do modelo YOLO11

A exportação de modelos YOLO11 para TorchScript facilita a sua utilização em diferentes locais e ajuda-os a funcionar de forma mais rápida e eficiente. Isto é ótimo para quem procura utilizar modelos de aprendizagem profunda de forma mais eficaz em aplicações do mundo real.

Instalação

Para instalar o pacote necessário, execute:

Instalação

# Install the required package for YOLO11
pip install ultralytics

Para obter instruções detalhadas e melhores práticas relacionadas com o processo de instalação, consulte o nosso guia de instalaçãoUltralytics . Ao instalar os pacotes necessários para YOLO11, se encontrar alguma dificuldade, consulte o nosso guia de Problemas comuns para obter soluções e dicas.

Utilização

Antes de se debruçar sobre as instruções de utilização, é importante notar que, embora todos os modelos deUltralytics YOLO11 estejam disponíveis para exportação, pode certificar-se de que o modelo selecionado suporta a funcionalidade de exportação aqui.

Utilização

from ultralytics import YOLO

# Load the YOLO11 model
model = YOLO("yolo11n.pt")

# Export the model to TorchScript format
model.export(format="torchscript")  # creates 'yolo11n.torchscript'

# Load the exported TorchScript model
torchscript_model = YOLO("yolo11n.torchscript")

# Run inference
results = torchscript_model("https://ultralytics.com/images/bus.jpg")
# Export a YOLO11n PyTorch model to TorchScript format
yolo export model=yolo11n.pt format=torchscript  # creates 'yolo11n.torchscript'

# Run inference with the exported model
yolo predict model=yolo11n.torchscript source='https://ultralytics.com/images/bus.jpg'

Para mais informações sobre o processo de exportação, visite a página de documentaçãoUltralytics sobre exportação.

Implantação de modelos exportados YOLO11 TorchScript

Depois de exportar com êxito os modelos Ultralytics YOLO11 para o formato TorchScript , agora é possível implantá-los. A primeira etapa principal e recomendada para executar um modelo TorchScript é utilizar o método YOLO("model.torchscript"), conforme descrito no trecho de código de uso anterior. No entanto, para obter instruções detalhadas sobre a implantação dos modelos TorchScript em várias outras configurações, consulte os seguintes recursos:

  • Explorar a implementação móvel: A PyTorch A documentação para dispositivos móveis fornece diretrizes abrangentes para a implementação de modelos em dispositivos móveis, assegurando que as suas aplicações são eficientes e reactivas.

  • Implementação mestre do lado do servidor: Saiba como implantar modelos no lado do servidor com o TorchServe, que oferece um tutorial passo a passo para uma veiculação de modelos escalável e eficiente.

  • Implementar a implantação do C++: Mergulhe no Tutorial sobre o carregamento de um modelo TorchScript em C++, facilitando a integração dos seus modelos TorchScript em aplicações C++ para um melhor desempenho e versatilidade.

Resumo

Neste guia, exploramos o processo de exportação de modelos Ultralytics YOLO11 para o formato TorchScript . Seguindo as instruções fornecidas, é possível otimizar o desempenho dos modelos YOLO11 e obter a flexibilidade para implantá-los em várias plataformas e ambientes.

Para mais informações sobre a utilização, visite a documentação oficial doTorchScript.

Além disso, se quiser saber mais sobre outras integrações de Ultralytics YOLO11 , visite a nossa página de guia de integração. Encontrará aí muitos recursos e informações úteis.

FAQ

O que é Ultralytics YOLO11 modelo de exportação para TorchScript?

A exportação de um modelo Ultralytics YOLO11 para TorchScript permite a implantação flexível e entre plataformas. TorchScript A exportação de um modelo para Python , uma parte do ecossistema PyTorch , facilita a serialização de modelos, que podem ser executados em ambientes que não têm suporte para . Isso o torna ideal para implantar modelos em sistemas incorporados, ambientes C++, aplicativos móveis e até mesmo navegadores da Web. A exportação para TorchScript permite um desempenho eficiente e uma aplicabilidade mais ampla dos seus modelos YOLO11 em diversas plataformas.

Como é que posso exportar o meu modelo YOLO11 para TorchScript utilizando Ultralytics?

Para exportar um modelo YOLO11 para TorchScript, pode utilizar o seguinte código de exemplo:

Utilização

from ultralytics import YOLO

# Load the YOLO11 model
model = YOLO("yolo11n.pt")

# Export the model to TorchScript format
model.export(format="torchscript")  # creates 'yolo11n.torchscript'

# Load the exported TorchScript model
torchscript_model = YOLO("yolo11n.torchscript")

# Run inference
results = torchscript_model("https://ultralytics.com/images/bus.jpg")
# Export a YOLO11n PyTorch model to TorchScript format
yolo export model=yolo11n.pt format=torchscript  # creates 'yolo11n.torchscript'

# Run inference with the exported model
yolo predict model=yolo11n.torchscript source='https://ultralytics.com/images/bus.jpg'

Para mais pormenores sobre o processo de exportação, consulte a documentaçãoUltralytics sobre exportação.

Por que razão devo utilizar TorchScript para implementar modelos YOLO11 ?

A utilização do site TorchScript para a implementação de modelos YOLO11 oferece várias vantagens:

  • Portabilidade: Os modelos exportados podem ser executados em ambientes sem a necessidade de Python, tais como aplicações C++, sistemas incorporados ou dispositivos móveis.
  • Otimização: TorchScript suporta a execução de gráficos estáticos e a compilação Just-In-Time (JIT), o que pode otimizar o desempenho do modelo.
  • Integração entre linguagens: os modelos TorchScript podem ser integrados noutras linguagens de programação, aumentando a flexibilidade e a capacidade de expansão.
  • Serialização: Os modelos podem ser serializados, permitindo o carregamento e a inferência independentes da plataforma.

Para obter mais informações sobre a implantação, visite PyTorch Mobile Documentation, TorchServe Documentation e C++ Deployment Guide.

Quais são os passos de instalação para exportar modelos de YOLO11 para TorchScript?

Para instalar o pacote necessário para exportar modelos YOLO11 , utilize o seguinte comando:

Instalação

# Install the required package for YOLO11
pip install ultralytics

Para obter instruções detalhadas, visite o guia de instalaçãoUltralytics . Se surgir algum problema durante a instalação, consulte o guia de Problemas comuns.

Como é que implemento os meus modelos TorchScript YOLO11 exportados?

Depois de exportar os modelos YOLO11 para o formato TorchScript , pode implementá-los numa variedade de plataformas:

  • API C++: Ideal para ambientes de produção de baixo custo e altamente eficientes.
  • Implementação móvel: Utilize PyTorch Mobile para as aplicações iOS e Android .
  • Implantação na nuvem: Utilize serviços como o TorchServe para implantação escalonável no lado do servidor.

Explore diretrizes abrangentes para a implementação de modelos nestes contextos para tirar o máximo partido das capacidades do TorchScript.

📅C riado há 8 meses ✏️ Atualizado há 1 mês

Comentários