Ultralytics Extensão de código VS
Executar um código de exemplo utilizando Ultralytics YOLO em menos de 20 segundos! 🚀
Caraterísticas e vantagens
✅ É um cientista de dados ou engenheiro de aprendizagem automática que está a criar aplicações de visão computacional com Ultralytics?
Não gosta de escrever os mesmos blocos de código repetidamente?
Está sempre a esquecer-se dos argumentos ou valores predefinidos para os métodos export, predict, train, track ou val?
Está a pensar em começar a utilizar o Ultralytics e gostaria de ter uma forma mais fácil de referenciar ou executar exemplos de código?
Pretende acelerar o seu ciclo de desenvolvimento quando trabalha com Ultralytics?
Se você usa o Visual Studio Code e respondeu "sim" a qualquer uma das perguntas acima, então a extensão Ultralytics-snippets para o VS Code está aqui para ajudar! Continue lendo para saber mais sobre a extensão, como instalá-la e como usá-la.
Inspirado pela comunidade Ultralytics
A inspiração para criar esta extensão veio da comunidade Ultralytics . As perguntas da Comunidade sobre tópicos e exemplos semelhantes alimentaram o desenvolvimento deste projeto. Além disso, como alguns membros da equipa Ultralytics também utilizam o VS Code, também o utilizamos como uma ferramenta para acelerar o nosso trabalho ⚡.
Porquê o VS Code?
O Visual Studio Code é extremamente popular entre os 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 do VS Code, recursos internos, ampla compatibilidade e extensibilidade, não é surpresa que tantos desenvolvedores o estejam usando. Dada a popularidade na comunidade de desenvolvedores mais ampla e nas comunidades Ultralytics Discord, Discourse, Reddit e GitHub, fazia sentido criar uma extensão do VS Code para ajudar a simplificar seu fluxo de trabalho e aumentar sua produtividade.
Quer dizer-nos o que utiliza para desenvolver código? Dirija-se à nossa sondagem da comunidade Discourse e diga-nos! Enquanto estiver lá, veja alguns dos nossos memes favoritos de visão computacional, aprendizado de máquina, IA e desenvolvedor, ou até mesmo poste o seu favorito!
Instalar 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. Depois de publicar a extensão, descobriu-se que neovim pode ser compatível com as extensões do VS Code. Para saber mais, consulte a secção neovim
secção de instalação do Readme no ficheiro Ultralytics-Repositório de snippets.
Instalar no VS Code
-
Navegue até ao menu Extensões no VS Code ou utilize o atalho Ctrl+Shift⇑+x e procure Ultralytics-snippets.
-
Clique no botão Instalar.
Instalar a partir do Marketplace de extensões do VS Code
-
Visite o VS Code Extension Marketplace e procure por Ultralytics-snippets ou vá diretamente para a página da extensão no VS Code marketplace.
-
Clique no botão Instalar e permita que o navegador inicie uma sessão do VS Code.
-
Siga as instruções para instalar a extensão.
Página do Visual Studio Code Extension Marketplace para Ultralytics-Snippets
Utilizar a extensão Ultralytics-Snippets
-
Conclusão inteligente de código: Escreva código mais rápido e com mais precisão com sugestões avançadas de conclusão de código adaptadas à API Ultralytics .
-
Maior velocidade de desenvolvimento: economize tempo eliminando tarefas de codificação repetitivas e aproveitando trechos de blocos de código pré-construídos.
-
Qualidade de código melhorada: Escreva código mais limpo, mais consistente e sem erros com o preenchimento inteligente de código.
-
Fluxo de trabalho simplificado: Mantenha-se concentrado na lógica central do seu projeto, automatizando tarefas comuns.
Visão geral
A extensão só funcionará quando o Modo de idioma está configurado para Python 🐍. Isto é para evitar que os snippets sejam inseridos quando se trabalha com qualquer outro tipo de ficheiro. Todos os snippets têm um prefixo que começa com ultra
e digitando simplesmente ultra
no seu editor depois de instalar a extensão, apresentará uma lista de possíveis snippets a utilizar. Também pode abrir o código VS Paleta de comandos utilizando Ctrl+Deslocação ⇑+p e executando o comando Snippets: Insert Snippet
.
Campos de snippet de código
Muitos snippets têm "campos" com valores ou nomes de marcadores de posição predefinidos. Por exemplo, a saída do prever poderia ser guardado numa variável Python chamada r
, results
, detections
, preds
ou qualquer outra coisa que um programador escolha, e é por isso que os snippets incluem "campos". Utilizar Separador ⇥ no seu teclado depois de inserir um snippet, o seu cursor mover-se-á rapidamente entre os campos. Uma vez selecionado um campo, a introdução de um novo nome de variável altera essa instância, mas também todas as outras instâncias no código do excerto para essa variável!
Depois de inserir o snippet, renomear model
como world_model
actualiza todas as instâncias. Premir Separador ⇥ passa para o campo seguinte, o que abre um menu pendente e permite selecionar uma escala de modelo, e passar para o campo seguinte fornece outra lista pendente para escolher world
ou worldv2
variante do modelo.
Conclusões de snippets de código
Atalhos ainda mais curtos
Não é necessário digitar o prefixo completo do snippet, nem mesmo começar a digitar desde o início do snippet. Veja o exemplo na imagem abaixo.
Os snippets são nomeados da forma mais descritiva possível, mas isso significa que pode haver muito para digitar, o que seria contraproducente se o objetivo for mover mais rápido. Felizmente, o VS Code permite que os utilizadores escrevam ultra.example-yolo-predict
, example-yolo-predict
, yolo-predict
, ou mesmo ex-yolo-p
e ainda assim alcançar a opção de trecho pretendida! Se o trecho pretendido era de facto ultra.example-yolo-predict-kwords
e, em seguida, utilizando apenas as setas do teclado ↑ ou ↓ para realçar o excerto pretendido e premir Introduzir ↵ ou Separador ⇥ irá inserir o bloco de código correto.
Dactilografia ex-yolo-p
vontade ainda chegar ao snippet correto.
Categorias de snippets
Estas são as actuais categorias de snippets disponíveis para a extensão Ultralytics-snippets. Serão adicionadas mais no futuro, por isso certifique-se de que verifica as actualizações e que ativa as actualizações automáticas para a extensão. Também pode pedir que sejam adicionados mais snippets se achar que está a faltar algum.
Categoria | Prefixo inicial | Descrição |
---|---|---|
Exemplos | ultra.examples |
Código de exemplo para ajudar a aprender ou para começar a utilizar Ultralytics. Os exemplos são cópias ou semelhantes ao código das páginas de documentação. |
Kwargs | ultra.kwargs |
Acelere o desenvolvimento adicionando snippets para os métodos train, track, predict e val com todos os argumentos de palavras-chave e valores predefinidos. |
Importações | ultra.imports |
Snippets para importar rapidamente objectos comuns do Ultralytics . |
Modelos | ultra.yolo |
Inserir blocos de código para inicializar vários modelos (yolo , sam , rtdetr , etc.), incluindo opções de configuração do menu pendente. |
Resultados | ultra.result |
Blocos de código para operações comuns quando se trabalha com resultados de inferência. |
Utilidades | ultra.util |
Fornece acesso rápido a utilitários comuns que estão integrados no pacote Ultralytics . Saiba mais sobre eles na página Utilitários simples. |
Aprender com exemplos
O ultra.examples
Os snippets são úteis para quem quer aprender como começar a trabalhar com Ultralytics YOLO . Os exemplos de snippets destinam-se a ser executados uma vez inseridos (alguns também têm opções de dropdown). Um exemplo disso é mostrado na animação na página topo desta página, onde, após a inserção do snippet, todo o código é selecionado e executado interactivamente utilizando Deslocação ⇑+Introduzir ↵.
Exemplo
Tal como os espectáculos de animação no topo desta página, pode utilizar 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 das seguintes: n
, s
, m
, l
, ou x
.
Acelerar o desenvolvimento
O objetivo para outros snippets que não o ultra.examples
servem para tornar o desenvolvimento mais fácil e mais rápido quando se trabalha com Ultralytics. Um bloco de código comum a ser utilizado em muitos projectos consiste em iterar a lista de Results
obtido com a utilização do modelo prever método. O método ultra.result-loop
pode ajudar nesta tarefa.
Exemplo
Utilizar o ultra.result-loop
irá inserir o seguinte código predefinido (incluindo comentários).
No entanto, uma vez que Ultralytics suporta numerosos tarefas, quando trabalhar com resultados de inferência existem outros Results
atributos a que pode querer aceder, que é onde o campos de snippet será poderoso.
Uma vez selecionado o separador boxes
aparece um menu pendente para permitir a seleção de outro atributo, conforme necessário.
Palavras-chave Argumentos
Existem mais de 💯 argumentos de palavras-chave para todas as várias Ultralytics tarefas e modos! É muita coisa para lembrar e pode ser fácil esquecer se o argumento for save_frame
ou save_frames
(é definitivamente save_frames
a propósito). É aqui que o ultra.kwargs
os snippets podem ajudar!
Exemplo
Para inserir o prever incluindo todos os argumentos de inferência, utilizar ultra.kwargs-predict
, que irá 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[w,h] 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 tem campos para todos os argumentos da palavra-chave, mas também para model
e src
no caso de ter utilizado uma variável diferente no seu 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 saber quais são os snippets disponíveis é descarregar e instalar a extensão e experimentá-la! Se estiver curioso e quiser ver a lista antes, pode visitar o repositório ou a página da extensão no mercado do VS Code para ver as tabelas de todos os snippets disponíveis.
Conclusão
A extensão Ultralytics-Snippets para VS Code foi concebida para capacitar os cientistas de dados e os engenheiros de aprendizagem automática a criarem aplicações de visão computacional utilizando Ultralytics YOLO de forma mais eficiente. Ao fornecer snippets de código pré-construídos e exemplos úteis, ajudamo-lo a concentrar-se no que mais importa: criar soluções inovadoras. Partilhe os seus comentários visitando a página da extensão no mercado do VS Code e deixando um comentário. ⭐
FAQ
Como é que solicito um novo snippet?
Novos snippets podem ser solicitados usando os Problemas no repositório Ultralytics-Snippets.
Quanto custa o Ultralytics-Extension?
É 100% gratuito!
Porque é que não vejo uma pré-visualização de um fragmento de código?
O VS Code usa a combinação de teclas Ctrl+Espaço para mostrar mais/menos informações na janela de visualização. Se não estiver a ver uma pré-visualização de fragmento de código quando escreve o prefixo de um fragmento de código, a utilização desta combinação de teclas deverá restaurar a pré-visualização.
Como posso desativar a recomendação de extensão em Ultralytics?
Se você usa o VS Code e começou a ver uma mensagem solicitando a instalação da extensão Ultralytics-snippets e não quer mais ver a mensagem, há duas maneiras de desativar essa mensagem.
-
Instalar Ultralytics-snippets e a mensagem deixará de ser apresentada 😆!
-
É possível utilizar
yolo settings vscode_msg False
para desativar a apresentação da mensagem sem ter de instalar a extensão. Pode saber mais sobre a extensão Ultralytics Definições no início rápido se não estiver familiarizado.
Tenho uma ideia para um novo fragmento de código Ultralytics . Como posso adicioná-lo?
Visite o repositório Ultralytics-snippets e abra uma Issue ou Pull Request!
Como é que 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 e clique no ícone de engrenagem (⚙) e, em seguida, clique em "Desinstalar" para remover a extensão.