YOLO Vision 2026:

Extensão do Ultralytics para VS Code#



Watch: How to use Ultralytics Visual Studio Code Extension | Ready-to-Use Code Snippets | Ultralytics YOLO 🎉

Recursos e Benefícios#

✅ És cientista de dados ou engenheiro de machine learning a criar aplicações de computer vision com a Ultralytics?

✅ Você detesta escrever os mesmos blocos de código repetidamente?

✅ Esqueces-te sempre dos argumentos ou valores predefinidos para os métodos export, predict, train, track ou val?

✅ Quer começar a usar o Ultralytics e gostaria de ter uma maneira mais fácil de referenciar ou executar exemplos de código?

✅ Quer acelerar seu ciclo de desenvolvimento ao trabalhar com o Ultralytics?

Se você usa o Visual Studio Code e respondeu 'sim' a qualquer uma das perguntas acima, a extensão Ultralytics-snippets para VS Code está aqui para ajudar! Continue lendo para saber mais sobre a extensão, como instalá-la e como usá-la.


Snippet Prediction Preview
Run example code using Ultralytics YOLO in under 20 seconds! 🚀

Inspirado pela Comunidade Ultralytics#

A inspiração para construir esta extensão veio da Comunidade Ultralytics. Perguntas da Comunidade sobre tópicos e exemplos semelhantes impulsionaram o desenvolvimento deste projeto. Além disso, muitos membros da equipe do Ultralytics usam o VS Code para acelerar seu próprio trabalho ⚡.

Por que o VS Code?#

O Visual Studio Code é extremamente popular entre programadores em todo o mundo e foi classificado como o mais popular pelo Stack Overflow Developer Survey em 2021, 2022, 2023 e 2024. Devido ao elevado nível de personalização, funcionalidades integradas, ampla compatibilidade e extensibilidade do VS Code, não é surpresa que tantos programadores o utilizem. Dada a popularidade na comunidade de programadores em geral e nas comunidades do Discord, Discourse, Reddit e GitHub da Ultralytics, fazia todo o sentido criar uma extensão do VS Code para ajudar a otimizar o teu fluxo de trabalho e aumentar a tua produtividade.

Queres informar-nos sobre o que usas para programar código? Dirige-te à sondagem da comunidade no Discourse e conta-nos! Enquanto lá estás, podes aproveitar para ver alguns dos nossos memes favoritos de computer vision, machine learning, IA e programação, ou até publicar o teu favorito!

Instalando a Extensão#

Nota

Qualquer ambiente de código que permita instalar extensões do VS Code deve ser compatível com a extensão Ultralytics-snippets. Após publicar a extensão, descobriu-se que o neovim pode ser tornado compatível com as extensões do VS Code. Para saber mais, consulta a secção de instalação de neovim do Leia-me (Readme) no repositório Ultralytics-Snippets.

Instalando no VS Code#

  1. Vai ao menu Extensões no VS Code ou usa o atalho Ctrl+Shift ⇑+x e procura por Ultralytics-snippets.

  2. Clique no botão Install.


VS Code extension menu

Instalando a partir do VS Code Extension Marketplace#

  1. Visita o Marketplace de Extensões do VS Code e procura por Ultralytics-snippets ou vai diretamente à página da extensão no marketplace do VS Code.

  2. Clique no botão Install e permita que seu navegador inicie uma sessão do VS Code.

  3. Siga quaisquer avisos para instalar a extensão.


VS Code marketplace extension install
Visual Studio Code Extension Marketplace page for Ultralytics-Snippets

Usando a Extensão Ultralytics-Snippets#

  • 🧠 Preenchimento de Código Inteligente: Escreva código de forma mais rápida e precisa com sugestões avançadas de preenchimento de código adaptadas à API do Ultralytics.

  • Velocidade de Desenvolvimento Aumentada: Economize tempo eliminando tarefas de codificação repetitivas e aproveitando blocos de código pré-construídos.

  • 🔬 Qualidade de Código Melhorada: Escreva um código mais limpo, consistente e livre de erros com preenchimento inteligente.

  • 💎 Fluxo de Trabalho Otimizado: Mantenha o foco na lógica principal do seu projeto automatizando tarefas comuns.

Visão geral#

A extensão só funcionará quando o Modo de Linguagem estiver configurado para Python 🐍. Isto serve para evitar que os snippets sejam inseridos ao trabalhar noutro tipo de ficheiro. Todos os snippets têm um prefixo que começa com ultra e, ao escrever simplesmente ultra no teu editor após instalar a extensão, será exibida uma lista de possíveis snippets para usar. Também podes abrir a Palete de Comandos do VS Code usando Ctrl+Shift ⇑+p e executando o comando Snippets: Insert Snippet.

Campos de Snippet de Código#

Muitos snippets têm "campos" com valores de espaço reservado predefinidos ou nomes. Por exemplo, o resultado do método predict pode ser guardado numa variável Python chamada r, results, detections, preds ou qualquer outra que um programador escolha, e é por isso que os snippets incluem "campos". Ao usares Tab ⇥ no teu teclado após inserir um snippet, o teu cursor mover-se-á rapidamente entre os campos. Uma vez selecionado um campo, escrever um novo nome de variável alterará essa instância e também todas as outras instâncias no código do snippet para essa variável!


Multi-update field and options
After inserting snippet, renaming model as world_model updates all instances. Pressing Tab ⇥ moves to the next field, which opens a dropdown menu and allows for selection of a model scale, and moving to the next field provides another dropdown to choose either world or worldv2 model variant.

Preenchimentos de Snippet de Código#

Atalhos ainda _mais curtos_

Não é necessário digitar o prefixo completo do snippet, ou mesmo começar a digitar desde o início do snippet. Veja o exemplo na imagem abaixo.

Os snippets têm os nomes mais descritivos possível, mas isto significa que pode haver muito para escrever e isso seria contraproducente se o objetivo for avançar mais depressa. Felizmente, o VS Code permite aos utilizadores escrever ultra.example-yolo-predict, example-yolo-predict, yolo-predict ou mesmo ex-yolo-p e ainda assim alcançar a opção de snippet pretendida! Se o snippet pretendido fosse na verdade ultra.example-yolo-predict-kwords, então basta usar as setas do teclado ou para destacar o snippet desejado e premir Enter ↵ ou Tab ⇥ para inserir o bloco de código correto.


VS Code incomplete code snippet preview
Typing ex-yolo-p will still arrive at the correct snippet.

Categorias de Snippets#

Estas são as categorias de snippets atuais disponíveis para a extensão Ultralytics-snippets. Serão adicionadas mais no futuro, por isso certifica-te de verificar se há atualizações e de ativar as atualizações automáticas para a extensão. Podes também pedir a adição de snippets adicionais se achares que falta algum.

CategoriaPrefixo InicialDescrição
Exemplosultra.examplesCódigo de exemplo para ajudar a aprender ou para começar a usar o Ultralytics. Os exemplos são cópias ou semelhantes ao código das páginas de documentação.
Kwargsultra.kwargsAcelera o desenvolvimento adicionando snippets para os métodos train, track, predict e val com todos os argumentos de palavra-chave e valores predefinidos.
Importsultra.importsSnippets para importar rapidamente objetos comuns do Ultralytics.
Modelsultra.yoloInsere blocos de código para inicializar vários models (yolo, sam, rtdetr, etc.), incluindo opções de configuração pendentes.
Resultadosultra.resultBlocos de código para operações comuns ao trabalhar com resultados de inferência.
Utilitáriosultra.utilFornece acesso rápido a utilitários comuns integrados no pacote Ultralytics; podes saber mais sobre eles na página Simple Utilities.

Aprendendo com Exemplos#

Os snippets ultra.examples são muito úteis para quem quer aprender a começar com as noções básicas de utilização do Ultralytics YOLO. Os exemplos de snippets destinam-se a ser executados assim que são inseridos (alguns também têm opções pendentes). Um exemplo disto é mostrado na animação no topo desta página, onde após a inserção do snippet, todo o código é selecionado e executado de forma interativa usando Shift ⇑+Enter ↵.

Exemplo

Tal como a animação mostra no topo desta página, podes usar o snippet ultra.example-yolo-predict para inserir o seguinte exemplo de código. Uma vez inserido, a única opção configurável é a escala do modelo, que pode ser qualquer uma de: n, s, m, l ou x.

from ultralytics import ASSETS, YOLO

model = YOLO("yolo26n.pt", task="detect")
results = model(source=ASSETS / "bus.jpg")

for result in results:
    print(result.boxes.data)
    # result.show()  # uncomment to view each result image

Acelerando o Desenvolvimento#

O objetivo dos snippets que não sejam o ultra.examples é tornar o desenvolvimento mais fácil e rápido ao trabalhar com a Ultralytics. Um bloco de código comum a ser usado em muitos projetos consiste em iterar a lista de Results devolvida ao usar o método de predict do modelo. O snippet ultra.result-loop pode ajudar nisto.

Exemplo

O uso de ultra.result-loop inserirá o seguinte código predefinido (incluindo comentários).

# reference https://docs.ultralytics.com/modes/predict#working-with-results

for result in results:
    result.boxes.data  # torch.Tensor array

No entanto, como a Ultralytics suporta inúmeras tasks, ao trabalhar com resultados de inferência há outros atributos Results a que podes querer aceder, e é aqui que os campos de snippets se tornam poderosos.


VS Code YOLO results visualization options
Once tabbed to the boxes field, a dropdown menu appears to allow selection of another attribute as required.

Argumentos de Palavras-chave#

Existem mais de 💯 argumentos de palavra-chave para todas as várias tasks e modes da Ultralytics! É muita coisa para lembrar, e pode ser fácil esquecer se o argumento é save_frame ou save_frames (a propósito, é definitivamente save_frames). É aqui que os snippets ultra.kwargs podem ajudar!

Exemplo

Para inserir o método predict, incluindo todos os argumentos de inferência, usa ultra.kwargs-predict, que inserirá o seguinte código (incluindo comentários).

model.predict(
    source=src,  # (str, optional) source directory for images or videos
    imgsz=640,  # (int | list) input images size as int or list[h,w] for predict
    conf=0.25,  # (float) minimum confidence threshold
    iou=0.7,  # (float) intersection over union (IoU) threshold for NMS
    vid_stride=1,  # (int) video frame-rate stride
    stream_buffer=False,  # (bool) buffer incoming frames in a queue (True) or only keep the most recent frame (False)
    visualize=False,  # (bool) save class activation heatmaps
    augment=False,  # (bool) apply image augmentation to prediction sources
    agnostic_nms=False,  # (bool) class-agnostic NMS
    classes=None,  # (int | list[int], optional) filter results by class, i.e. classes=0, or classes=[0,2,3]
    retina_masks=False,  # (bool) use high-resolution segmentation masks
    embed=None,  # (list[int], optional) return feature vectors/embeddings from given layers
    show=False,  # (bool) show predicted images and videos if environment allows
    save=True,  # (bool) save prediction results
    save_frames=False,  # (bool) save predicted individual video frames
    save_txt=False,  # (bool) save results as .txt file
    save_conf=False,  # (bool) save results with confidence scores
    save_crop=False,  # (bool) save cropped images with results
    stream=False,  # (bool) for processing long videos or numerous images with reduced memory usage by returning a generator
    verbose=True,  # (bool) enable/disable verbose inference logging in the terminal
)

Este snippet tem campos para todos os argumentos de palavra-chave, mas também para model e src, caso tenhas usado uma variável diferente no teu código. Em cada linha que contém um argumento de palavra-chave, é incluída uma breve descrição para referência.

Todos os Snippets de Código#

A melhor forma de descobrir que snippets estão disponíveis é transferir e instalar a extensão e experimentá-la! Se tens curiosidade e queres dar uma vista de olhos na lista com antecedência, podes visitar o repositório ou a página da extensão no marketplace do VS Code para ver as tabelas com todos os snippets disponíveis.

Conclusão#

A extensão Ultralytics-Snippets para o VS Code foi concebida para capacitar cientistas de dados e engenheiros de machine learning a criarem aplicações de computer vision usando o Ultralytics YOLO com maior eficiência. Ao fornecer blocos de código pré-criados e exemplos úteis, ajudamos-te a concentrar no que mais importa: criar soluções inovadoras. Partilha o teu feedback visitando a página da extensão no marketplace do VS Code e deixando uma avaliação. ⭐

FAQ#

  • Podes solicitar novos snippets através das Issues no repositório do Ultralytics-Snippets.

  • É 100% gratuita!

  • O VS Code usa a combinação de teclas Ctrl+Space para mostrar mais/menos informações na janela de visualização. Se você não estiver vendo uma visualização de snippet ao digitar um prefixo de snippet de código, o uso dessa combinação de teclas deve restaurar a visualização.

  • Se você usa o VS Code e começou a ver uma mensagem solicitando que instale a extensão Ultralytics-snippets e não deseja mais ver a mensagem, existem duas maneiras de desativá-la.

    1. Instale o Ultralytics-snippets e a mensagem não será mais exibida 😆!

    2. Podes usar yolo settings vscode_msg=False para desativar a exibição da mensagem sem teres de instalar a extensão. Podes saber mais sobre as Definições da Ultralytics na página de início rápido se não estiveres familiarizado.

  • Visita o repositório do Ultralytics-snippets e abre uma Issue ou um Pull Request!

  • Como qualquer outra extensão do VS Code, você pode desinstalá-la navegando até o menu Extensões no VS Code. Encontre a extensão Ultralytics-snippets no menu, clique no ícone de engrenagem (⚙) e, em seguida, clique em "Uninstall" para remover a extensão.


    VS Code extension menu

Comentários