YOLO Vision 2026 :

Extension VS Code d'Ultralytics#



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

Fonctionnalités et avantages#

✅ Es-tu un data scientist ou un ingénieur en machine learning qui développe des applications de vision par ordinateur avec Ultralytics ?

✅ Est-ce que tu détestes écrire les mêmes blocs de code à répétition ?

✅ Tu oublies constamment les arguments ou les valeurs par défaut des méthodes export, predict, train, track ou val ?

✅ Cherches-tu à te lancer avec Ultralytics et souhaites-tu avoir un moyen plus facile de référencer ou d'exécuter des exemples de code ?

✅ Veux-tu accélérer ton cycle de développement lorsque tu travailles avec Ultralytics ?

Si tu utilises Visual Studio Code et que tu as répondu « oui » à l'une de ces questions, alors l'extension Ultralytics-snippets pour VS Code est là pour t'aider ! Lis la suite pour en savoir plus sur l'extension, comment l'installer et comment l'utiliser.


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

Inspiré par la communauté Ultralytics#

L'inspiration pour créer cette extension vient de la communauté Ultralytics. Les questions de la communauté autour de sujets et d'exemples similaires ont alimenté le développement de ce projet. De plus, de nombreux membres de l'équipe Ultralytics utilisent VS Code pour accélérer leur propre travail ⚡.

Pourquoi VS Code ?#

Visual Studio Code est extrêmement populaire auprès des développeurs du monde entier et a été classé comme le plus populaire par le Stack Overflow Developer Survey en 2021, 2022, 2023 et 2024. En raison du haut niveau de personnalisation, des fonctionnalités intégrées, de la large compatibilité et de l'extensibilité de VS Code, il n'est pas surprenant que tant de développeurs l'utilisent. Compte tenu de sa popularité dans la communauté de développeurs au sens large et au sein des communautés Discord, Discourse, Reddit et GitHub d'Ultralytics, il était logique de créer une extension VS Code pour t'aider à simplifier ton flux de travail et à booster ta productivité.

Tu veux nous dire ce que tu utilises pour développer du code ? Rends-toi sur notre sondage de la communauté Discourse et fais-le-nous savoir ! Pendant que tu y es, va jeter un œil à certains de nos mèmes préférés sur la vision par ordinateur, le machine learning, l'IA et les développeurs, ou partage même ton préféré !

Installation de l'extension#

Remarque

Tout environnement de code permettant d'installer des extensions VS Code devrait être compatible avec l'extension Ultralytics-snippets. Après la publication de l'extension, il a été découvert que neovim peut être rendu compatible avec les extensions VS Code. Pour en savoir plus, consulte la section d'installation neovim du Readme dans le dépôt Ultralytics-Snippets.

Installation dans VS Code#

  1. Accède au menu Extensions dans VS Code ou utilise le raccourci Ctrl+Shift ⇑+x, puis recherche Ultralytics-snippets.

  2. Clique sur le bouton Install.


VS Code extension menu

Installation depuis la place de marché des extensions VS Code#

  1. Visite le VS Code Extension Marketplace et recherche Ultralytics-snippets, ou va directement sur la page de l'extension sur le marketplace de VS Code.

  2. Clique sur le bouton Install et autorise ton navigateur à lancer une session VS Code.

  3. Suis les invites pour installer l'extension.


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

Utilisation de l'extension Ultralytics-Snippets#

  • 🧠 Saisie semi-automatique intelligente : Écris du code plus rapidement et plus précisément avec des suggestions de saisie semi-automatique avancées adaptées à l'API Ultralytics.

  • Vitesse de développement accrue : Gagne du temps en éliminant les tâches de codage répétitives et en exploitant des snippets de blocs de code prédéfinis.

  • 🔬 Qualité de code améliorée : Écris un code plus propre, plus cohérent et sans erreur grâce à la saisie semi-automatique intelligente.

  • 💎 Flux de travail rationalisé : Reste concentré sur la logique fondamentale de ton projet en automatisant les tâches courantes.

Présentation#

L'extension ne fonctionnera que lorsque le mode de langage est configuré pour Python 🐍. Cela permet d'éviter l'insertion de snippets lors du travail sur tout autre type de fichier. Tous les snippets ont un préfixe commençant par ultra, et le simple fait de taper ultra dans ton éditeur après avoir installé l'extension affichera une liste des snippets disponibles à utiliser. Tu peux également ouvrir la palette de commandes de VS Code en utilisant Ctrl+Shift ⇑+p et en exécutant la commande Snippets: Insert Snippet.

Champs des snippets de code#

De nombreux snippets ont des "champs" avec des valeurs ou des noms de substitution par défaut. Par exemple, le résultat de la méthode predict peut être enregistré dans une variable Python nommée r, results, detections, preds ou tout ce qu'un développeur choisit, c'est pourquoi les snippets incluent des "champs". En utilisant Tab ⇥ sur ton clavier après l'insertion d'un snippet, ton curseur se déplacera rapidement entre les champs. Une fois qu'un champ est sélectionné, taper un nouveau nom de variable modifiera cette instance, mais aussi toutes les autres instances du code du snippet pour cette variable !


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.

Complétions des snippets de code#

Des raccourcis encore plus _courts_

Il n'est pas nécessaire de taper le préfixe complet du snippet, ni même de commencer à taper depuis le début du snippet. Voir l'exemple dans l'image ci-dessous.

Les snippets sont nommés de la manière la plus descriptive possible, mais cela signifie qu'il peut y avoir beaucoup de texte à taper, ce qui serait contre-productif si l'objectif est d'aller plus vite. Heureusement, VS Code permet aux utilisateurs de taper ultra.example-yolo-predict, example-yolo-predict, yolo-predict ou même ex-yolo-p et d'atteindre quand même l'option de snippet souhaitée ! Si le snippet souhaité était en fait ultra.example-yolo-predict-kwords, il te suffit d'utiliser les flèches de ton clavier ou pour mettre en surbrillance le snippet souhaité et d'appuyer sur Enter ↵ ou Tab ⇥ pour insérer le bon bloc de code.


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

Catégories de snippets#

Voici les catégories de snippets actuellement disponibles pour l'extension Ultralytics-snippets. D'autres seront ajoutées à l'avenir, alors pense à vérifier les mises à jour et à activer les mises à jour automatiques pour l'extension. Tu peux également demander l'ajout de snippets supplémentaires si tu penses qu'il en manque.

CatégoriePréfixe de départDescription
Exemplesultra.examplesExemple de code pour t'aider à apprendre ou pour te lancer avec Ultralytics. Les exemples sont des copies ou des variantes de code provenant des pages de documentation.
Kwargsultra.kwargsAccélère ton développement en ajoutant des snippets pour les méthodes train, track, predict et val avec tous les arguments nommés et les valeurs par défaut.
Importsultra.importsSnippets pour importer rapidement les objets Ultralytics courants.
Modèlesultra.yoloInsère des blocs de code pour initialiser différents modèles (yolo, sam, rtdetr, etc.), y compris des options de configuration sous forme de menu déroulant.
Résultatsultra.resultBlocs de code pour les opérations courantes lors du travail avec les résultats d'inférence.
Utilitairesultra.utilFournit un accès rapide aux utilitaires courants intégrés au paquet Ultralytics. Apprends-en plus sur ces derniers sur la page Utilitaires simples.

Apprendre avec des exemples#

Les snippets ultra.examples sont très utiles pour quiconque souhaite apprendre à démarrer avec les bases du travail avec Ultralytics YOLO. Les exemples de snippets sont conçus pour s'exécuter une fois insérés (certains disposent également d'options de menu déroulant). Un exemple de ceci est présenté dans l'animation en haut de cette page, où, après l'insertion du snippet, tout le code est sélectionné et exécuté de manière interactive à l'aide de Shift ⇑+Enter ↵.

Exemple

Tout comme le montre l'animation en haut de cette page, tu peux utiliser le snippet ultra.example-yolo-predict pour insérer l'exemple de code suivant. Une fois inséré, la seule option configurable est l'échelle du modèle, qui peut être l'une des suivantes : 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

Accélération du développement#

L'objectif des snippets autres que ultra.examples est de rendre le développement plus simple et plus rapide lors du travail avec Ultralytics. Un bloc de code couramment utilisé dans de nombreux projets consiste à parcourir la liste de Results renvoyée par l'utilisation de la méthode predict du modèle. Le snippet ultra.result-loop peut t'aider dans cette tâche.

Exemple

L'utilisation de ultra.result-loop insérera le code par défaut suivant (commentaires inclus).

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

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

Cependant, comme Ultralytics prend en charge de nombreuses tâches, lors du travail avec les résultats d'inférence, il existe d'autres attributs Results auxquels tu pourrais vouloir accéder, ce qui rend les champs de snippet très puissants.


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

Arguments de mots-clés#

Il existe plus de 💯 arguments nommés pour l'ensemble des différentes tâches et modes d'Ultralytics ! Cela fait beaucoup de choses à retenir, et il est facile d'oublier si l'argument est save_frame ou save_frames (c'est décidément save_frames, soit dit en passant). C'est là que les snippets ultra.kwargs peuvent t'aider !

Exemple

Pour insérer la méthode predict, y compris tous les arguments d'inférence, utilise ultra.kwargs-predict, ce qui insérera le code suivant (commentaires inclus).

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
)

Ce snippet possède des champs pour tous les arguments nommés, mais aussi pour model et src au cas où tu aurais utilisé une variable différente dans ton code. Sur chaque ligne contenant un argument nommé, une brève description est incluse à titre de référence.

Tous les snippets de code#

La meilleure façon de découvrir les snippets disponibles est de télécharger et d'installer l'extension pour l'essayer ! Si tu es curieux et que tu souhaites jeter un coup d'œil à la liste au préalable, tu peux visiter le dépôt ou la page de l'extension sur le marketplace de VS Code pour consulter les tableaux de tous les snippets disponibles.

Conclusion#

L'extension Ultralytics-Snippets pour VS Code est conçue pour permettre aux data scientists et aux ingénieurs en machine learning de créer des applications de vision par ordinateur à l'aide d'Ultralytics YOLO de manière plus efficace. En fournissant des blocs de code pré-intégrés et des exemples utiles, nous t'aidons à te concentrer sur l'essentiel : créer des solutions innovantes. N'hésite pas à partager tes commentaires en visitant la page de l'extension sur le marketplace de VS Code et en laissant un avis. ⭐

FAQ#

  • De nouveaux snippets peuvent être demandés en utilisant les Issues sur le dépôt Ultralytics-Snippets.

  • C'est 100 % gratuit !

  • VS Code utilise la combinaison de touches Ctrl+Space pour afficher plus ou moins d'informations dans la fenêtre d'aperçu. Si tu ne vois pas d'aperçu de snippet lorsque tu tapes un préfixe de snippet, l'utilisation de cette combinaison de touches devrait restaurer l'aperçu.

  • Si tu utilises VS Code et que tu as commencé à voir un message t'invitant à installer l'extension Ultralytics-snippets, et que tu ne souhaites plus voir ce message, il existe deux façons de le désactiver.

    1. Installe Ultralytics-snippets et le message ne s'affichera plus 😆 !

    2. Tu peux utiliser yolo settings vscode_msg=False pour désactiver l'affichage du message sans avoir à installer l'extension. Tu peux en apprendre davantage sur les paramètres d'Ultralytics sur la page quickstart si tu ne connais pas.

  • Visite le dépôt Ultralytics-snippets et ouvre une Issue ou une Pull Request !

  • Comme toute autre extension VS Code, tu peux la désinstaller en naviguant vers le menu Extensions dans VS Code. Trouve l'extension Ultralytics-snippets dans le menu et clique sur l'icône d'engrenage (⚙), puis clique sur « Uninstall » pour supprimer l'extension.


    VS Code extension menu

Commentaires