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 sans cesse les mêmes blocs de code ?

✅ Oublies-tu constamment les arguments ou les valeurs par défaut pour les méthodes export, predict, train, track ou val ?

✅ Tu cherches à démarrer avec Ultralytics et tu aimerais 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é sur des sujets et 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 l'outil le plus populaire par le Stack Overflow Developer Survey en 2021, 2022, 2023 et 2024. En raison 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 que tant de développeurs l'utilisent. Compte tenu de sa popularité dans la communauté des développeurs en général 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 augmenter ta productivité.

Tu veux nous dire ce que tu utilises pour développer du code ? Rends-toi sur notre sondage communautaire sur Discourse pour nous le faire 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 le développement, ou publie même ton préféré !

Installation de l'extension

Remarque

Any code environment that will allow for installing VS Code extensions should be compatible with the Ultralytics-snippets extension. After publishing the extension, it was discovered that neovim can be made compatible with VS Code extensions. To learn more see the neovim install section of the Readme in the Ultralytics-Snippets repository.

Installation 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

Installation depuis le Marketplace 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 VS Code.

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

  3. Suis les instructions pour installer l'extension.


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

Utilisation de l'extension Ultralytics-Snippets

  • 🧠 Complétion de code intelligente : Écris du code plus rapidement et plus précisément avec des suggestions de complétion 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 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 complétion de code 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 Language Mode sera configuré pour Python 🐍. Cela permet d'éviter que des extraits ne soient insérés lors du travail sur tout autre type de fichier. Tous les extraits ont un préfixe commençant par ultra, et taper simplement ultra dans ton éditeur après avoir installé l'extension affichera une liste d'extraits possibles à utiliser. Tu peux aussi ouvrir la palette de commandes de VS Code en utilisant Ctrl+Shift ⇑+p et en exécutant la commande Snippets: Insert Snippet.

Champs des extraits de code

Beaucoup d'extraits ont des « champs » avec des valeurs ou des noms d'espaces réservés 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 extraits incluent des « champs ». En utilisant Tab ⇥ sur ton clavier après l'insertion d'un extrait, ton curseur se déplacera rapidement entre les champs. Une fois un champ sélectionné, taper un nouveau nom de variable modifiera cette instance, mais aussi toutes les autres instances de la variable dans le code de l'extrait !


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 d'extraits de code

Des raccourcis encore plus _courts_

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

Les extraits 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'atteindre quand même l'option d'extrait souhaitée ! Si l'extrait voulu était en réalité ultra.example-yolo-predict-kwords, il suffit alors d'utiliser les flèches de ton clavier ou pour mettre en surbrillance l'extrait 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 d'extraits

Voici les catégories d'extraits 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 aussi demander l'ajout d'extraits supplémentaires si tu penses qu'il en manque.

CatégoriePréfixe de démarrageDescription
Exemplesultra.examplesExemples de code pour t'aider à apprendre ou pour démarrer 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 extraits pour les méthodes train, track, predict et val avec tous les arguments de mots-clés et les valeurs par défaut.
Importationsultra.importsExtraits pour importer rapidement les objets courants d'Ultralytics.
Modèlesultra.yoloInsère des blocs de code pour initialiser divers modèles (yolo, sam, rtdetr, etc.), incluant des options de configuration via menu déroulant.
Resultsultra.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, pour en savoir plus, consulte la page des utilitaires simples.

Apprendre avec des exemples

Les extraits ultra.examples sont très utiles pour quiconque cherche à apprendre les bases de l'utilisation d'Ultralytics YOLO. Les extraits d'exemple sont conçus pour s'exécuter une fois insérés (certains ont aussi des options déroulantes). Un exemple est montré dans l'animation en haut de cette page, où, après l'insertion de l'extrait, 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 l'extrait 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 extraits 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 des Results renvoyés par l'utilisation de la méthode predict du modèle. L'extrait 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 (incluant les commentaires).

# 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 de Results auxquels tu pourrais souhaiter accéder, ce qui est là où les champs d'extrait 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.

Arguments de mots-clés

Il existe plus de 💯 arguments de mots-clés pour toutes les diverses 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 extraits ultra.kwargs peuvent t'aider !

Exemple

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

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
)

Cet extrait 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 mots-clés, une brève description est incluse pour référence.

Tous les extraits de code

La meilleure façon de découvrir quels extraits 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 le marketplace VS Code pour voir les tableaux de tous les extraits 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 en utilisant Ultralytics YOLO plus efficacement. En fournissant des extraits 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 le marketplace VS Code et en laissant un avis. ⭐

FAQ

Comment demander un nouvel extrait ?

Les nouveaux extraits peuvent être demandés via les Issues du dépôt Ultralytics-Snippets.

Combien coûte l'extension Ultralytics ?

Elle est 100 % gratuite !

Pourquoi ne vois-je pas d'aperçu d'extrait 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 d'extrait lorsque tu tapes un préfixe, l'utilisation de cette combinaison de touches devrait restaurer l'aperçu.

Comment 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 sera plus affiché 😆 !

  2. Tu peux utiliser yolo settings vscode_msg False pour empêcher 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 ne les connais pas.

J'ai une idée pour un nouvel extrait de code Ultralytics, comment puis-je le faire ajouter ?

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

Comment désinstaller l'extension Ultralytics-Snippets ?

Comme n'importe quelle 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, clique sur l'icône d'engrenage (⚙), puis clique sur « Uninstall » pour supprimer l'extension.


VS Code extension menu

Commentaires