Meet YOLO26: next-gen vision AI.

Link to this sectionExtensão do Ultralytics para VS Code#



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

Link to this sectionRecursos e Benefícios#

✅ Você é um cientista de dados ou engenheiro de machine learning desenvolvendo aplicações de visão computacional com o Ultralytics?

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

✅ Você sempre esquece os argumentos ou valores padrão dos 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! 🚀

Link to this sectionInspirado 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 ⚡.

Link to this sectionPor que o VS Code?#

O Visual Studio Code é extremamente popular entre desenvolvedores em todo o mundo e foi classificado como o mais popular pela Pesquisa de Desenvolvedores do Stack Overflow em 2021, 2022, 2023 e 2024. Devido ao alto nível de personalização, recursos integrados, ampla compatibilidade e extensibilidade do VS Code, não é surpresa que tantos desenvolvedores o utilizem. Dada a sua popularidade na comunidade de desenvolvedores em geral e nas comunidades do Discord, Discourse, Reddit e GitHub do Ultralytics, fazia todo o sentido criar uma extensão para o VS Code para ajudar a otimizar seu fluxo de trabalho e aumentar sua produtividade.

Quer nos contar o que você usa para desenvolver código? Acesse nossa enquete da comunidade no Discourse e nos conte! Enquanto estiver lá, talvez dê uma olhada em alguns dos nossos memes favoritos sobre visão computacional, machine learning, IA e desenvolvimento, ou até mesmo poste o seu favorito!

Link to this sectionInstalando a Extensão#

Nota

Qualquer ambiente de código que permita a instalação de extensões do VS Code deve ser compatível com a extensão Ultralytics-snippets. Após o lançamento da extensão, descobriu-se que o neovim pode ser tornado compatível com extensões do VS Code. Para saber mais, veja a seção de instalação do neovim no Readme do repositório Ultralytics-Snippets.

Link to this sectionInstalando no VS Code#

  1. Navegue até o menu de Extensões no VS Code ou use o atalho Ctrl+Shift ⇑+x e pesquise por Ultralytics-snippets.

  2. Clique no botão Install.


VS Code extension menu

Link to this sectionInstalando a partir do VS Code Extension Marketplace#

  1. Visite o VS Code Extension Marketplace e pesquise por Ultralytics-snippets ou vá diretamente para a 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

Link to this sectionUsando 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.

Link to this sectionVisão geral#

A extensão só funcionará quando o Modo de Linguagem estiver configurado para Python 🐍. Isso serve para evitar que snippets sejam inseridos ao trabalhar em qualquer outro tipo de arquivo. Todos os snippets têm um prefixo que começa com ultra, e simplesmente digitar ultra no seu editor após instalar a extensão exibirá uma lista de possíveis snippets para usar. Você também pode abrir a Paleta de Comandos do VS Code usando Ctrl+Shift ⇑+p e executando o comando Snippets: Insert Snippet.

Link to this sectionCampos de Snippet de Código#

Muitos snippets possuem "campos" com valores ou nomes de espaço reservado padrão. Por exemplo, a saída do método predict pode ser salva em uma variável Python chamada r, results, detections, preds ou qualquer outra que o desenvolvedor escolher, e é por isso que os snippets incluem "campos". Usando Tab ⇥ no teclado após a inserção de um snippet, seu cursor se moverá rapidamente entre os campos. Uma vez que um campo é selecionado, digitar um novo nome de variável mudará essa instância, mas também todas as outras instâncias da variável no código do snippet!


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.

Link to this sectionPreenchimentos 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 são nomeados da maneira mais descritiva possível, mas isso significa que pode haver muito para digitar e isso seria contraproducente se o objetivo é mover-se mais rápido. Felizmente, o VS Code permite que os usuários digitem ultra.example-yolo-predict, example-yolo-predict, yolo-predict ou até mesmo ex-yolo-p e ainda alcancem a opção de snippet pretendida! Se o snippet pretendido fosse realmente ultra.example-yolo-predict-kwords, basta usar as setas do teclado ou para destacar o snippet desejado e pressionar 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.

Link to this sectionCategorias de Snippets#

Estas são as categorias de snippets atuais disponíveis para a extensão Ultralytics-snippets. Mais serão adicionadas no futuro, portanto, certifique-se de verificar se há atualizações e de ativar as atualizações automáticas para a extensão. Você também pode solicitar snippets adicionais para serem adicionados, caso sinta falta de 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.kwargsAcelere o desenvolvimento adicionando snippets para métodos train, track, predict e val com todos os argumentos de palavra-chave e valores padrão.
Importsultra.importsSnippets para importar rapidamente objetos comuns do Ultralytics.
Modelsultra.yoloInsira blocos de código para inicializar vários modelos (yolo, sam, rtdetr, etc.), incluindo opções de configuração via menu suspenso.
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 ao pacote Ultralytics. Saiba mais sobre eles na página de Utilitários Simples.

Link to this sectionAprendendo com Exemplos#

Os snippets ultra.examples são muito úteis para qualquer pessoa que queira aprender a começar com os fundamentos de trabalho com o Ultralytics YOLO. Os snippets de exemplo destinam-se a rodar uma vez inseridos (alguns também têm opções de menu suspenso). Um exemplo disso é mostrado na animação no topo desta página, onde após a inserção do snippet, todo o código é selecionado e executado interativamente usando Shift ⇑+Enter ↵.

Exemplo

Assim como a animação mostra no topo desta página, você pode usar o snippet ultra.example-yolo-predict para inserir o seguinte exemplo de código. Uma vez inserido, a única opção configurável é para a escala do modelo, que pode ser qualquer uma destas: 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

Link to this sectionAcelerando o Desenvolvimento#

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

Exemplo

Usar o ultra.result-loop inserirá o seguinte código padrão (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 o Ultralytics suporta inúmeras tarefas, ao trabalhar com resultados de inferência, há outros atributos de Results que você pode querer acessar, e é aí que os campos de snippet se tornarão 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.

Link to this sectionArgumentos de Palavras-chave#

Existem mais de 💯 argumentos de palavra-chave para todas as várias tarefas e modos do 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, use ultra.kwargs-predict, o 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) visualize model features
    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 possui campos para todos os argumentos de palavra-chave, mas também para model e src, caso você tenha usado uma variável diferente em seu código. Em cada linha que contém um argumento de palavra-chave, uma breve descrição é incluída para referência.

Link to this sectionTodos os Snippets de Código#

A melhor maneira de descobrir quais snippets estão disponíveis é baixar e instalar a extensão e testá-la! Se você está curioso e quer dar uma olhada na lista com antecedência, pode visitar o repositório ou a página da extensão no marketplace do VS Code para visualizar as tabelas de todos os snippets disponíveis.

Link to this sectionConclusão#

A extensão Ultralytics-Snippets para VS Code foi projetada para capacitar cientistas de dados e engenheiros de machine learning a construir aplicações de visão computacional usando o Ultralytics YOLO com mais eficiência. Ao fornecer snippets de código pré-construídos e exemplos úteis, ajudamos você a se concentrar no que mais importa: criar soluções inovadoras. Por favor, compartilhe seu feedback visitando a página da extensão no marketplace do VS Code e deixando uma avaliação. ⭐

Link to this sectionFAQ#

Link to this sectionComo solicitar um novo snippet?#

Novos snippets podem ser solicitados usando as Issues no repositório do Ultralytics-Snippets.

Link to this sectionQuanto custa a extensão Ultralytics?#

É 100% gratuita!

Link to this sectionPor que não vejo uma visualização do snippet de código?#

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.

Link to this sectionComo desativo a recomendação de extensão no Ultralytics?#

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. Você pode usar yolo settings vscode_msg=False para desativar a exibição da mensagem sem precisar instalar a extensão. Você pode aprender mais sobre as Configurações do Ultralytics na página de início rápido se não estiver familiarizado.

Link to this sectionTenho uma ideia para um novo snippet de código do Ultralytics, como posso adicionar um?#

Visite o repositório do Ultralytics-snippets e abra uma Issue ou Pull Request!

Link to this sectionComo desinstalo a Extensão Ultralytics-Snippets?#

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