Exportação de modelos YOLO26 para TorchScript para implementação rápida#
O PyTorch descontinuou o TorchScript e está a remover gradualmente as suas funcionalidades. Para novas implementações móveis e em dispositivos edge, utilize a integração ExecuTorch suportada. A Ultralytics mantém a exportação normal para TorchScript para compatibilidade com C++ legado.
A implementação de 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.
Exporte para TorchScript para serializar os seus modelos Ultralytics YOLO26, garantindo compatibilidade entre plataformas e uma implementação simplificada. Neste guia, mostramos como exportar os seus modelos YOLO26 para o formato TorchScript, facilitando a sua utilização numa gama mais ampla de aplicações.
Por que deve exportar para TorchScript?#

Desenvolvido pelos criadores do PyTorch, o TorchScript é uma ferramenta poderosa para otimizar e implementar modelos PyTorch em diversas plataformas. Exportar modelos YOLO26 para TorchScript é essencial para passar da investigação a aplicações do mundo real. O TorchScript, parte do framework PyTorch, ajuda a tornar esta transição mais simples, permitindo utilizar modelos PyTorch em ambientes que não suportam Python.
O processo envolve duas técnicas: tracing e scripting. O tracing regista as operações durante a execução do modelo, enquanto o scripting permite definir modelos utilizando um subconjunto de Python. Estas técnicas garantem que modelos como o YOLO26 continuam a funcionar corretamente mesmo fora do seu ambiente Python habitual.

Os modelos TorchScript também podem ser otimizados através de técnicas como a fusão de operadores e melhorias 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 dos modelos 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++.
Principais funcionalidades dos modelos TorchScript#
O TorchScript, uma parte essencial do ecossistema PyTorch, fornece funcionalidades poderosas para otimizar e implementar modelos de deep learning.

Estas são as principais funcionalidades que tornam o TorchScript uma ferramenta valiosa para programadores:
-
Execução com grafo estático: O TorchScript utiliza uma representação em grafo estático da computação do modelo, que é diferente da execução com grafo dinâmico do PyTorch. Na execução com grafo estático, o grafo computacional é definido e compilado uma vez antes da execução propriamente dita, resultando num melhor desempenho durante a inferência.
-
Serialização de modelos: O TorchScript permite serializar modelos PyTorch para um formato independente da plataforma. Os modelos serializados podem ser carregados sem exigir o código Python original, permitindo a implementação em diferentes ambientes de execução.
-
Compilação JIT: O TorchScript utiliza compilação just-in-time (JIT) para converter modelos PyTorch numa representação intermédia otimizada. O JIT compila o grafo computacional do modelo, permitindo uma execução eficiente nos dispositivos-alvo.
-
Conversão gradual: O TorchScript fornece uma abordagem de conversão gradual, permitindo converter incrementalmente partes do seu modelo PyTorch para TorchScript. Esta flexibilidade é particularmente útil ao trabalhar com modelos complexos ou quando pretende otimizar partes específicas do código.
Opções de implementação no TorchScript#
Antes de analisarmos o código para exportar modelos YOLO26 para o formato TorchScript, vamos compreender onde os modelos TorchScript são normalmente utilizados.
O TorchScript oferece várias opções de implementação para modelos de machine learning, tais como:
-
API C++: O caso de utilização mais comum do TorchScript é a sua API C++ LibTorch, que permite carregar e executar modelos TorchScript otimizados diretamente em aplicações C++. Esta opção é ideal para ambientes de produção onde Python pode não ser adequado ou estar disponível. A API C++ oferece uma execução eficiente e com baixa sobrecarga dos modelos TorchScript, maximizando o potencial de desempenho.
-
Implementação móvel: Para inferência móvel de baixa latência e offline, bem como para privacidade dos dados em dispositivos móveis, utilize o ExecuTorch, o substituto do TorchScript Mobile no PyTorch.
-
Implementação na cloud: Os modelos TorchScript podem ser implementados em servidores baseados na cloud utilizando soluções como o TorchServe. Este fornece funcionalidades como versionamento de modelos, batching e monitorização de métricas para uma implementação escalável em ambientes de produção. A implementação do TorchScript na cloud pode tornar os seus modelos acessíveis através de APIs ou de outros serviços web.
Tarefas suportadas#
A exportação para TorchScript suporta todas as sete tarefas da Ultralytics. A segmentação semântica e a estimativa de profundidade estão disponíveis apenas com YOLO26, a única família fornecida com essas cabeças.
| Tarefa | YOLOv8 | YOLO11 | YOLO26 |
|---|---|---|---|
| Detetar | ✅ | ✅ | ✅ |
| Segmentar | ✅ | ✅ | ✅ |
| Semântica | ❌ | ❌ | ✅ |
| Profundidade | ❌ | ❌ | ✅ |
| Classificar | ✅ | ✅ | ✅ |
| Pose | ✅ | ✅ | ✅ |
| OBB | ✅ | ✅ | ✅ |
Exportação para TorchScript: conversão do seu modelo YOLO26#
Exportar modelos YOLO26 para TorchScript facilita a sua utilização em diferentes locais e ajuda-os a funcionar de forma mais rápida e eficiente. Isto é ideal para quem pretende utilizar modelos de deep learning de forma mais eficaz em aplicações do mundo real.
Instalação#
Para instalar o pacote necessário, executa:
# Install the required package for YOLO26
pip install ultralyticsPara obter instruções detalhadas e boas práticas relacionadas com o processo de instalação, consulte o nosso guia de instalação do Ultralytics. Ao instalar os pacotes necessários para YOLO26, se encontrar alguma dificuldade, consulte o nosso guia de problemas comuns para obter soluções e dicas.
Utilização#
Todos os modelos Ultralytics YOLO26 foram concebidos para suportar a exportação imediatamente, facilitando a sua integração no teu fluxo de trabalho de implementação preferido. Podes consultar a lista completa de formatos de exportação e opções de configuração compatíveis para escolher a melhor configuração para a tua aplicação.
O formato TorchScript suporta os modos Export, Predict e Validate. Exporte o seu modelo e, em seguida, carregue o modelo exportado para executar 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 do modelo exportado, que define a compatibilidade com vários ambientes de implementação. |
imgsz | int ou tuple | 640 | Tamanho de imagem pretendido para a entrada do modelo. Pode ser um número inteiro para imagens quadradas ou um tuplo (height, width) para dimensões específicas. |
dynamic | bool | False | Permite tamanhos de entrada dinâmicos, aumentando a flexibilidade para lidar com diferentes dimensões de imagem. |
quantize | int ou str | None | Precisão da quantização: 16 (FP16) requer exportação na GPU com device=0; 32/não definido corresponde a FP32. Substitui o sinalizador half obsoleto. |
nms | bool, opcional | None | Seleciona a saída em bruto (None, predefinição), a NMS embutida (True) ou a cabeça sem NMS (False). |
batch | int | 1 | Especifica o tamanho do lote de inferência do modelo exportado ou o número máximo de imagens que o modelo exportado processará em simultâneo no modo predict. |
device | str | None | Especifica o dispositivo para a exportação: GPU (device=0), CPU (device=cpu), MPS para Apple Silicon (device=mps). |
Para obter mais detalhes sobre o processo de exportação, visita a página da documentação da Ultralytics sobre exportação.
Implementação de modelos YOLO26 TorchScript exportados#
Depois de exportar com êxito os seus modelos Ultralytics YOLO26 para o formato TorchScript, pode agora implementá-los. O primeiro passo principal e recomendado para executar um modelo TorchScript é utilizar o método YOLO("model.torchscript"), conforme indicado no excerto de código de utilização anterior. Para obter instruções detalhadas sobre a implementação dos seus modelos TorchScript noutros contextos, consulte os seguintes recursos:
-
Explorar a implementação móvel: Utilize o pipeline separado
torch.export()→.ptedo ExecuTorch para a implementação móvel atual do PyTorch. -
Dominar a implementação no servidor: Aprenda a implementar modelos no servidor com o TorchServe, através de um tutorial passo a passo para disponibilizar modelos de forma escalável e eficiente.
-
Implementar em C++: Explore o Tutorial sobre como carregar um modelo TorchScript em C++, facilitando a integração dos seus modelos TorchScript em aplicações C++ para obter melhor desempenho e versatilidade.
Resumo#
Neste guia, explorámos o processo de exportação de modelos Ultralytics YOLO26 para o formato TorchScript. Ao seguir as instruções fornecidas, pode otimizar os modelos YOLO26 para obter desempenho e ganhar flexibilidade para os implementar em várias plataformas e ambientes.
Para obter mais informações sobre a utilização, consulte a documentação oficial do TorchScript.
Além disso, se quiseres saber mais sobre outras integrações do Ultralytics YOLO26, visita a nossa página do guia de integrações. Encontrarás aí muitos recursos e informações úteis.
Perguntas frequentes#
Exportar um modelo Ultralytics YOLO26 para TorchScript permite uma implementação flexível e multiplataforma. O TorchScript, parte do ecossistema PyTorch, facilita a serialização de modelos, que podem depois ser executados em ambientes sem suporte para Python. Isto torna-o útil para implementar modelos em ambientes C++.
Para exportar um modelo YOLO26 para TorchScript, pode utilizar o seguinte código de exemplo:
Utilizaçãofrom 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 obter mais detalhes sobre o processo de exportação, consulte a documentação da Ultralytics sobre exportação.
Utilizar TorchScript para implementar modelos YOLO26 oferece várias vantagens:
- Portabilidade: Os modelos exportados podem ser executados em aplicações C++ sem Python.
- Otimização: O TorchScript suporta execução com grafo estático e compilação just-in-time (JIT), que podem 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 implementação, consulte a documentação do TorchServe e o guia de implementação em C++. Para a implementação móvel no dispositivo, o PyTorch recomenda agora o ExecuTorch, que utiliza o seu próprio pipeline separado
torch.export()→.pte, em vez do TorchScript.Para instalar o pacote necessário para exportar modelos YOLO26, utilize o seguinte comando:
Instalação# Install the required package for YOLO26 pip install ultralyticsPara obter instruções detalhadas, consulte o guia de instalação da Ultralytics. Se ocorrer algum problema durante a instalação, consulte o guia de problemas comuns.
Depois de exportar os modelos YOLO26 para o formato TorchScript, pode implementá-los numa variedade de plataformas:
- API C++: Utilize o LibTorch para ambientes de produção eficientes e com baixa sobrecarga.
- Implementação móvel: Utilize o ExecuTorch, o substituto suportado pelo PyTorch, com um pipeline de exportação
.pteseparado. - Implementação na cloud: Utilize serviços como o TorchServe para uma implementação escalável no servidor.
Explore orientações abrangentes para implementar modelos nestes contextos e tirar o máximo partido das capacidades do TorchScript.