Exportação de modelos YOLO26 para TorchScript para implantação rápida#
O PyTorch depreciou o TorchScript e está removendo gradualmente seus recursos. Para novas implantações em dispositivos móveis e edge, usa a integração ExecuTorch suportada. A Ultralytics mantém a exportação regular para TorchScript para compatibilidade legada com C++.
Implantar modelos de visão computacional em ambientes C++ sem Python requer uma representação serializada portátil. O TorchScript fornece essa compatibilidade para aplicações LibTorch legadas.
Exporta para o TorchScript para serializar os teus modelos Ultralytics YOLO26 para compatibilidade entre plataformas e uma implantação otimizada. Neste guia, mostramos-te como exportar os teus modelos YOLO26 para o formato TorchScript, facilitando a sua utilização numa gama mais ampla de aplicações.
Por que exportar para TorchScript?#

Desenvolvido pelos criadores do PyTorch, o TorchScript é uma ferramenta poderosa para otimizar e implantar modelos PyTorch numa variedade de plataformas. Exportar modelos YOLO26 para o TorchScript é crucial para transitar da investigação para aplicações do mundo real. O TorchScript, parte do framework PyTorch, ajuda a tornar essa transição mais suave, permitindo que modelos PyTorch sejam usados em ambientes que não suportam Python.
O processo envolve duas técnicas: tracing (rastreamento) e scripting (scripting). O tracing registra operações durante a execução do modelo, enquanto o scripting permite a definição de modelos usando um subconjunto de Python. Essas técnicas garantem que modelos como o YOLO26 ainda possam realizar sua mágica mesmo fora do seu ambiente Python habitual.

Modelos TorchScript também podem ser otimizados por meio de técnicas como fusão de operadores e refinamentos no uso de memória, garantindo uma execução eficiente. Outra vantagem de exportar para TorchScript é seu potencial de acelerar a execução do modelo em várias plataformas de hardware. Ele cria uma representação independente e pronta para produção do seu modelo PyTorch que pode ser integrada em ambientes C++.
Principais recursos dos modelos TorchScript#
O TorchScript, uma parte fundamental do ecossistema PyTorch, fornece recursos poderosos para otimizar e implantar modelos de aprendizagem profunda.

Aqui estão os principais recursos que tornam o TorchScript uma ferramenta valiosa para desenvolvedores:
-
Execução de grafo estático: O TorchScript usa uma representação de grafo estático da computação do modelo, o que é diferente da execução de grafo dinâmico do PyTorch. Na execução de grafo estático, o grafo computacional é definido e compilado uma vez antes da execução real, resultando em desempenho aprimorado durante a inferência.
-
Serialização de modelos: O TorchScript permite serializar modelos PyTorch em um formato independente de plataforma. Modelos serializados podem ser carregados sem exigir o código Python original, permitindo a implantação em diferentes ambientes de tempo de execução.
-
Compilação JIT: O TorchScript usa compilação Just-In-Time (JIT) para converter modelos PyTorch em uma representação intermediária otimizada. O JIT compila o grafo computacional do modelo, permitindo uma execução eficiente em dispositivos de destino.
-
Conversão gradual: O TorchScript oferece uma abordagem de conversão gradual, permitindo que você converta incrementalmente partes do seu modelo PyTorch para TorchScript. Essa flexibilidade é particularmente útil ao lidar com modelos complexos ou quando você deseja otimizar partes específicas do código.
Opções de implantação no TorchScript#
Antes de analisarmos o código para exportar modelos YOLO26 para o formato TorchScript, vamos entender onde os modelos TorchScript são normalmente usados.
O TorchScript oferece várias opções de implantação para modelos de aprendizagem automática, tais como:
-
API C++: O caso de uso mais comum para o TorchScript é a sua API C++ LibTorch, que te permite carregar e executar modelos TorchScript otimizados diretamente em aplicações C++. Isto é ideal para ambientes de produção onde o Python pode não ser adequado ou estar disponível. A API C++ oferece uma execução eficiente e de baixo overhead dos modelos TorchScript, maximizando o potencial de desempenho.
-
Implantação Móvel: Para inferência offline de baixa latência e privacidade de dados em dispositivos móveis, utiliza o ExecuTorch, o substituto do PyTorch para o TorchScript Mobile.
-
Implantação em nuvem: Modelos TorchScript podem ser implantados em servidores baseados em nuvem usando soluções como o TorchServe. Ele fornece recursos como controle de versão de modelos, processamento em lote (batching) e monitoramento de métricas para implantação escalável em ambientes de produção. A implantação em nuvem com TorchScript pode tornar seus modelos acessíveis via APIs ou outros serviços web.
Tarefas Suportadas#
A exportação para TorchScript suporta todas as sete tarefas do Ultralytics. A segmentação semântica e a estimativa de profundidade estão disponíveis apenas no YOLO26, a única família que possui essas cabeças.
| Tarefa | YOLOv8 | YOLO11 | YOLO26 |
|---|---|---|---|
| Detectar | ✅ | ✅ | ✅ |
| Segmentar | ✅ | ✅ | ✅ |
| Semântica | ❌ | ❌ | ✅ |
| Profundidade | ❌ | ❌ | ✅ |
| Classificar | ✅ | ✅ | ✅ |
| Pose | ✅ | ✅ | ✅ |
| OBB | ✅ | ✅ | ✅ |
Exportar para TorchScript: Convertendo seu modelo YOLO26#
Exportar modelos YOLO26 para TorchScript torna mais fácil usá-los em diferentes lugares e ajuda a executá-los de forma mais rápida e eficiente. Isso é excelente para qualquer pessoa que queira usar modelos de deep learning de forma mais eficaz em aplicações do mundo real.
Instalação#
Para instalar o pacote necessário, execute:
# Install the required package for YOLO26
pip install ultralyticsPara instruções detalhadas e melhores práticas relacionadas com o processo de instalação, consulta o nosso guia de instalação do Ultralytics. Ao instalar os pacotes necessários para o YOLO26, se encontrares alguma dificuldade, consulta o nosso guia de problemas comuns para obter soluções e dicas.
Uso#
Todos os modelos Ultralytics YOLO26 são projetados para suportar exportação nativamente, facilitando a integração deles no teu fluxo de trabalho de implantação preferido. Podes ver a lista completa de formatos de exportação suportados e opções de configuração para escolher a melhor configuração para a tua aplicação.
O formato TorchScript suporta os modos Exportar, Prever e Validar. Exporta o teu modelo e, em seguida, carrega o modelo exportado para executar a inferência ou validar a sua precisão.
from ultralytics import YOLO
# Load a YOLO26 model
model = YOLO("yolo26n.pt")
# Export the model to TorchScript format
model.export(format="torchscript") # creates 'yolo26n.torchscript'from ultralytics import YOLO
# Load the exported TorchScript model
model = YOLO("yolo26n.torchscript")
# Run inference
results = model("https://ultralytics.com/images/bus.jpg")from ultralytics import YOLO
# Load the exported TorchScript model
model = YOLO("yolo26n.torchscript")
# Validate accuracy on the COCO8 dataset
metrics = model.val(data="coco8.yaml")Argumentos de Exportação#
| Argumento | Tipo | Predefinição | Descrição |
|---|---|---|---|
format | str | 'torchscript' | Formato de destino para o modelo exportado, definindo a compatibilidade com vários ambientes de implementação. |
imgsz | int ou tuple | 640 | Tamanho de imagem desejado para a entrada do modelo. Pode ser um número inteiro para imagens quadradas ou uma tupla (height, width) para dimensões específicas. |
dynamic | bool | False | Permite tamanhos de entrada dinâmicos, aumentando a flexibilidade no manuseio de dimensões variáveis de imagem. |
quantize | int ou str | None | Precisão de quantização: 16 (FP16) requer exportação em GPU com device=0; 32/não definido é FP32. Substitui o sinalizador half depreciado. |
nms | bool | False | Adiciona a Supressão Não-Máxima (NMS), essencial para um pós-processamento de detecção preciso e eficiente. |
batch | int | 1 | Especifica o tamanho de inferência em lote do modelo de exportação ou o número máximo de imagens que o modelo exportado processará concorrentemente no modo predict. |
device | str | None | Especifica o dispositivo para exportação: GPU (device=0), CPU (device=cpu), MPS para Apple silicon (device=mps). |
Para mais detalhes sobre o processo de exportação, visita a página de documentação do Ultralytics sobre exportação.
Implantação de modelos YOLO26 TorchScript exportados#
Após exportares com sucesso os teus modelos Ultralytics YOLO26 para o formato TorchScript, podes agora implantá-los. O primeiro passo principal e recomendado para executar um modelo TorchScript é usar o método YOLO("model.torchscript"), conforme descrito no snippet de código de uso anterior. Para instruções detalhadas sobre como implantar os teus modelos TorchScript noutros cenários, dá uma vista de olhos aos seguintes recursos:
-
Explorar a Implantação Móvel: Usa o pipeline separado
torch.export()→.ptedo ExecuTorch para a implantação móvel atual do PyTorch. -
Dominar a Implantação do Lado do Servidor: Aprende a implantar modelos no lado do servidor com o TorchServe, oferecendo um tutorial passo a passo para a disponibilização de modelos escalável e eficiente.
-
Implementar a Implantação em C++: Mergulha no tutorial sobre Como Carregar um Modelo TorchScript em C++, facilitando a integração dos teus modelos TorchScript em aplicações C++ para maior desempenho e versatilidade.
Resumo#
Neste guia, exploramos o processo de exportação de modelos Ultralytics YOLO26 para o formato TorchScript. Ao seguir as instruções fornecidas, você pode otimizar modelos YOLO26 para desempenho e ganhar a flexibilidade de implantá-los em várias plataformas e ambientes.
Para mais detalhes sobre a utilização, visita a documentação oficial do TorchScript.
Além disso, se quiseres saber mais sobre outras integrações do Ultralytics YOLO26, visita a nossa integration guide page. Encontrará lá muitos recursos e conhecimentos úteis.
FAQ#
Exportar um modelo Ultralytics YOLO26 para TorchScript permite uma implantação flexível e multiplataforma. O TorchScript, parte do ecossistema PyTorch, facilita a serialização de modelos, que podem então ser executados em ambientes que carecem de suporte a Python. Isso o torna útil para implantar modelos em ambientes C++.
Para exportar um modelo YOLO26 para TorchScript, você pode usar o seguinte código de exemplo:
Usofrom ultralytics import YOLO # Load a YOLO26 model model = YOLO("yolo26n.pt") # Export the model to TorchScript format model.export(format="torchscript") # creates 'yolo26n.torchscript' # Load the exported TorchScript model torchscript_model = YOLO("yolo26n.torchscript") # Run inference results = torchscript_model("https://ultralytics.com/images/bus.jpg")Para mais detalhes sobre o processo de exportação, consulta a documentação da Ultralytics sobre exportação.
Usar o TorchScript para implantar modelos YOLO26 oferece várias vantagens:
- Portabilidade: Modelos exportados podem rodar em aplicações C++ sem Python.
- Otimização: O TorchScript suporta execução de grafo estático e compilação Just-In-Time (JIT), o que pode otimizar o desempenho do modelo.
- Integração entre linguagens: Modelos TorchScript podem ser integrados em outras linguagens de programação, aumentando a flexibilidade e a expansibilidade.
- Serialização: Modelos podem ser serializados, permitindo o carregamento e a inferência independentes de plataforma.
Para mais informações sobre implantação, visita a Documentação do TorchServe e o Guia de Implantação C++. Para a implantação em dispositivos móveis, o PyTorch recomenda agora o ExecuTorch, que utiliza o seu próprio pipeline separado
torch.export()→.pteem vez do TorchScript.Para instalar o pacote necessário para exportar modelos YOLO26, use o seguinte comando:
Instalação# Install the required package for YOLO26 pip install ultralyticsPara instruções detalhadas, visita o Guia de Instalação da Ultralytics. Se surgir algum problema durante a instalação, consulta o Guia de Problemas Comuns.
Após exportar modelos YOLO26 para o formato TorchScript, você pode implantá-los em uma variedade de plataformas:
- API C++: Utiliza o LibTorch para ambientes de produção altamente eficientes e com baixo overhead.
- Implantação Móvel: Utiliza o ExecuTorch, o substituto suportado do PyTorch com um pipeline de exportação
.pteseparado. - Implantação na Cloud: Utiliza serviços como o TorchServe para uma implantação escalável do lado do servidor.
Explore diretrizes abrangentes para implantar modelos nesses ambientes para aproveitar ao máximo as capacidades do TorchScript.