Meet YOLO26: next-gen vision AI.

Link to this sectionExtension VS Code d'Ultralytics#



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

Link to this sectionFonctionnalités et avantages#

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

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

✅ Oublies-tu 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! 🚀

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

Link to this sectionPourquoi VS Code ?#

Visual Studio Code est extrêmement populaire auprès des développeurs du monde entier et a été classé comme l'environnement le plus populaire par le Stack Overflow Developer Survey en 2021, 2022, 2023 et 2024. Compte tenu du haut niveau de personnalisation de VS Code, de ses fonctionnalités intégrées, de sa large compatibilité et de son extensibilité, il n'est pas surprenant qu'autant de développeurs l'utilisent. Au vu de sa popularité dans la communauté des développeurs plus 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 à rationaliser ton flux de travail et à booster ta productivité.

Tu souhaites nous dire ce que tu utilises pour développer du code ? Rends-toi sur notre sondage communautaire Discourse et fais-le nous savoir ! Pendant que tu y es, jette peut-être 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 poste même ton préféré !

Link to this sectionInstallation de l'extension#

Remarque

Tout environnement de code permettant l'installation d'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 de neovim du fichier Readme dans le dépôt Ultralytics-Snippets.

Link to this sectionInstallation dans VS Code#

  1. Navigue vers le menu Extensions dans VS Code ou utilise le raccourci Ctrl+Shift ⇑+x, et recherche Ultralytics-snippets.

  2. Clique sur le bouton Install.


VS Code extension menu

Link to this sectionInstallation depuis la place de marché des extensions VS Code#

  1. Visite la place de marché des extensions VS Code et recherche Ultralytics-snippets ou accède directement à la page de l'extension sur la place de marché 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

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

Link to this sectionPrésentation#

L'extension ne fonctionnera que lorsque le Mode Langage est configuré pour Python 🐍. Cela permet d'éviter que des snippets ne soient insérés lorsque tu travailles sur tout autre type de fichier. Tous les snippets ont un préfixe commençant par ultra, et taper simplement ultra dans ton éditeur après avoir installé l'extension affichera une liste de snippets possibles à 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.

Link to this sectionChamps des snippets de code#

De nombreux snippets ont des « champs » avec des valeurs ou des noms d'espace réservé par défaut. Par exemple, la sortie de la méthode predict pourrait être enregistrée 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 chaque autre instance de cette variable dans le code du 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 sectionComplé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 à 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'accéder tout de même à l'option de snippet souhaitée ! Si le snippet souhaité était en fait ultra.example-yolo-predict-kwords, alors il suffit d'utiliser les flèches de ton clavier ou pour mettre en surbrillance le snippet désiré 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.

Link to this sectionCatégories de snippets#

Voici les catégories de snippets actuellement disponibles pour l'extension Ultralytics-snippets. D'autres seront ajoutées à l'avenir, alors assure-toi de vérifier les mises à jour et d'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 le développement en ajoutant des snippets pour les méthodes train, track, predict et val avec tous les arguments de mots-clés et valeurs par défaut.
Importsultra.importsSnippets pour importer rapidement les objets Ultralytics courants.
Modèlesultra.yoloInsère des blocs de code pour initialiser divers modèles (yolo, sam, rtdetr, etc.), y compris des options de configuration via 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 package Ultralytics ; apprends-en plus sur la page Utilitaires Simples.

Link to this sectionApprendre avec des exemples#

Les snippets ultra.examples sont très utiles pour quiconque cherche à apprendre comment se lancer avec les bases de travail avec Ultralytics YOLO. Les snippets d'exemple sont destinés à être exécutés une fois insérés (certains ont également des options déroulantes). Un exemple de cela est montré 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 en utilisant Shift ⇑+Enter ↵.

Exemple

Tout comme l'animation le montre 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 concerne 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

Link to this sectionAccélération du développement#

L'objectif des snippets autres que ultra.examples est de rendre le développement plus facile et plus rapide lors du travail avec Ultralytics. Un bloc de code courant utilisé dans de nombreux projets consiste à itérer sur la liste de Results renvoyée après l'utilisation de la méthode predict du modèle. Le snippet ultra.result-loop peut t'aider pour cela.

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, lorsque tu travailles avec des résultats d'inférence, il existe d'autres attributs Results auxquels tu souhaiteras peut-être accéder ; c'est là que les champs de snippet seront 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.

Link to this sectionArguments de mots-clés#

Il existe plus de 💯 arguments de mots-clés pour toutes les différentes tâches et modes d'Ultralytics ! C'est beaucoup à retenir, et il peut être facile d'oublier si l'argument est save_frame ou save_frames (c'est définitivement save_frames au fait). 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, 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) 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
)

Ce snippet possède des champs pour tous les arguments de mots-clé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 de mot-clé, une brève description est incluse pour référence.

Link to this sectionTous les snippets de code#

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

Link to this sectionConclusion#

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 en utilisant Ultralytics YOLO plus efficacement. En fournissant des snippets de code prédéfinis et des exemples utiles, nous t'aidons à te concentrer sur ce qui compte le plus : créer des solutions innovantes. Merci de partager tes commentaires en visitant la page de l'extension sur la place de marché VS Code et en laissant un avis. ⭐

Link to this sectionFAQ#

Link to this sectionComment demander un nouveau snippet ?#

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

Link to this sectionCombien coûte l'extension Ultralytics ?#

C'est 100 % gratuit !

Link to this sectionPourquoi ne vois-je pas d'aperçu de snippet de code ?#

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.

Link to this sectionComment désactiver la recommandation d'extension dans Ultralytics ?#

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 Ultralytics sur la page quickstart si tu n'es pas familier avec cela.

Link to this sectionJ'ai une idée pour un nouveau snippet de code Ultralytics, comment puis-je en faire ajouter un ?#

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

Link to this sectionComment désinstaller l'extension Ultralytics-Snippets ?#

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