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?
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 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.
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:
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")
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")
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:
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.