Extension Ultralytics pour VS Code
Regarder : Comment utiliser l'extension Visual Studio Code d'Ultralytics | Extraits de code prêts à l'emploi | Ultralytics YOLO 🎉
Fonctionnalités et avantages
✅ Êtes-vous un data scientist ou un ingénieur en apprentissage automatique qui crée des applications de vision par ordinateur avec Ultralytics ?
✅ Détestez-vous écrire les mêmes blocs de code à plusieurs reprises ?
✅ Oubliez-vous toujours les arguments ou les valeurs par défaut pour les méthodes export, predict, train, track ou val ?
✅ Cherchez-vous à démarrer avec Ultralytics et aimeriez-vous avoir un moyen plus facile de référencer ou d'exécuter des exemples de code ?
✅ Voulez-vous accélérer votre cycle de développement lorsque vous travaillez avec Ultralytics ?
Si vous utilisez Visual Studio Code et avez répondu 'oui' à l'une des questions ci-dessus, alors l'extension Ultralytics-snippets pour VS Code est là pour vous aider ! Poursuivez votre lecture pour en savoir plus sur l'extension, comment l'installer et comment l'utiliser.
Exécutez un exemple de code en utilisant Ultralytics YOLO en moins de 20 secondes ! 🚀
Inspiré par la communauté Ultralytics
L'idée de créer cette extension est venue de la communauté Ultralytics. Les questions de la communauté concernant des sujets et des exemples similaires ont alimenté le développement de ce projet. De plus, comme certains membres de l'équipe Ultralytics utilisent également VS Code, nous l'utilisons également comme un outil pour accélérer notre 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 niveau élevé 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 la popularité dans la communauté des développeurs au sens large et au sein des communautés Ultralytics Discord, Discourse, Reddit et GitHub, il était logique de créer une extension VS Code pour rationaliser votre flux de travail et augmenter votre productivité.
Vous voulez nous faire savoir ce que vous utilisez pour développer du code ? Rendez-vous sur notre sondage communautaire Discourse et faites-le nous savoir ! Pendant que vous y êtes, consultez peut-être certains de nos mèmes préférés sur la vision par ordinateur, l'apprentissage automatique, l'IA et le développement, ou publiez même votre préféré !
Installation de l'extension
Remarque
Tout environnement de code qui permettra 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, consultez le neovim
section d'installation du fichier Readme dans le dépôt Ultralytics-Snippets.
Installation dans VS Code
-
Accédez au menu Extensions dans VS Code ou utilisez le raccourci Ctrl+Shift ⇑+x, et recherchez Ultralytics-snippets.
-
Cliquez sur le bouton Install.
Installation depuis le marketplace d'extensions VS Code
-
Visitez le Marketplace d'extensions VS Code et recherchez Ultralytics-snippets ou accédez directement à la page de l'extension sur le marketplace VS Code.
-
Cliquez sur le bouton Install et autorisez votre navigateur à lancer une session VS Code.
-
Suivez les instructions pour installer l'extension.
Page Visual Studio Code Extension Marketplace pour Ultralytics-Snippets
Utilisation de l'extension Ultralytics-Snippets
-
🧠 Complétion de code intelligente : Écrivez du code plus rapidement et avec plus de précision grâce à des suggestions de complétion de code avancées adaptées à l'API Ultralytics.
-
⌛ Vitesse de développement accrue : Gagnez du temps en éliminant les tâches de codage répétitives et en tirant parti des extraits de blocs de code préconstruits.
-
🔬 Qualité du code améliorée : Écrivez un code plus propre, plus cohérent et sans erreur grâce à la complétion de code intelligente.
-
💎 Flux de travail rationalisé : Restez concentré sur la logique principale de votre projet en automatisant les tâches courantes.
Aperçu
L'extension ne fonctionnera que lorsque le Mode de langage est configuré pour python 🐍. Ceci afin d'éviter que des extraits ne soient insérés lorsque vous travaillez sur tout autre type de fichier. Tous les extraits ont un préfixe commençant par ultra
, et le simple fait de taper ultra
dans votre éditeur après avoir installé l'extension, affichera une liste des extraits possibles à utiliser. Vous pouvez également ouvrir la Palette de commandes en utilisant les Ctrl+Shift ⇑+p et exécuter la commande Snippets: Insert Snippet
.
Champs d'extrait de code
De nombreux extraits de code comportent des « champs » avec des noms ou des valeurs 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 autre nom choisi par un développeur, c'est pourquoi les extraits de code incluent des « champs ». En utilisant la touche Tab ⇥ de votre clavier après l'insertion d'un extrait de code, votre curseur se déplacera rapidement entre les champs. Une fois un champ sélectionné, la saisie d'un nouveau nom de variable modifiera cette instance, mais aussi toutes les autres instances de ce code d'extrait pour cette variable !
Après avoir inséré l'extrait de code, renommer model
en world_model
met à jour toutes les instances. Appuyer sur la touche Tab ⇥ déplace vers le champ suivant, ce qui ouvre un menu déroulant et permet de sélectionner une échelle de modèle, et le déplacement vers le champ suivant fournit un autre menu déroulant pour choisir la variante de modèle world
ou worldv2
.
Saisie semi-automatique d'extraits de code
Même des raccourcis plus courts
Il n'est pas nécessaire de saisir le préfixe complet de l'extrait de code, ni même de commencer à saisir au début de l'extrait de code. Voir l'exemple dans l'image ci-dessous.
Les extraits de code sont nommés de la manière la plus descriptive possible, mais cela signifie qu'il pourrait y avoir beaucoup à saisir, ce qui serait contre-productif si le but est de se déplacer plus rapidement. Heureusement, VS Code permet aux utilisateurs de saisir ultra.example-yolo-predict
, example-yolo-predict
, yolo-predict
voire même ex-yolo-p
et d'accéder quand même à l'option d'extrait de code souhaitée ! Si l'extrait de code souhaité était en fait ultra.example-yolo-predict-kwords
, alors utilisez simplement les flèches de votre clavier ↑ ou ↓ pour mettre en surbrillance l'extrait de code souhaité et appuyez sur Entrée ↵ ou Tab ⇥ pour insérer le bloc de code correct.
Saisie ex-yolo-p
permettra toujours d'arriver au snippet correct.
Catégories d'extraits de code
Voici les catégories de snippets actuellement disponibles pour l'extension Ultralytics-snippets. D'autres seront ajoutées à l'avenir, alors assurez-vous de vérifier les mises à jour et d'activer les mises à jour automatiques pour l'extension. Vous pouvez également demander l'ajout de snippets supplémentaires si vous pensez qu'il en manque.
Catégorie | Préfixe de départ | Description |
---|---|---|
Exemples | ultra.examples |
Exemple de code pour faciliter l'apprentissage ou pour démarrer avec Ultralytics. Les exemples sont des copies ou similaires au code des pages de documentation. |
Kwargs | ultra.kwargs |
Accélérez 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 les valeurs par défaut. |
Importations | ultra.imports |
Snippets pour importer rapidement des objets Ultralytics courants. |
Modèles | ultra.yolo |
Insérer des blocs de code pour initialiser divers modèles (yolo , sam , rtdetr , etc.), y compris les options de configuration déroulantes. |
Résultats | ultra.result |
Blocs de code pour les opérations courantes lors du travail avec les résultats de l'inférence. |
Utilitaires | ultra.util |
Fournit un accès rapide aux utilitaires courants intégrés au package Ultralytics. Pour en savoir plus, consultez la page Utilitaires simples. |
Apprendre avec des exemples
L'argument ultra.examples
les extraits sont très utiles pour quiconque cherche à apprendre comment démarrer avec les bases du travail avec Ultralytics YOLO. Les exemples d'extraits sont destinés à être exécutés une fois insérés (certains ont également des options de liste déroulante). Un exemple de ceci est montré dans l'animation à la 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 ⇑+Entrée ↵.
Exemple
Tout comme le montre l'animation en haut de cette page, vous pouvez 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("yolo11n.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érer le développement
L'objectif des snippets autres que les ultra.examples
est de rendre le développement plus facile et plus rapide lorsque vous travaillez avec Ultralytics. Un bloc de code courant à utiliser dans de nombreux projets consiste à itérer la liste des Results
renvoyés par l'utilisation de la méthode du modèle predict méthode. Le ultra.result-loop
snippet peut vous aider.
Exemple
En utilisant le 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 vous travaillez avec les résultats d'inférence , il existe d'autres Results
attributs auxquels vous souhaiterez peut-être accéder, et c'est là que les champs de snippet seront puissants.
Une fois que vous avez appuyé sur la tabulation pour accéder au champ boxes
, un menu déroulant apparaît pour permettre la sélection d'un autre attribut selon les besoins.
Arguments de mots-clés
Il y a plus de 💯 arguments de mots-clés pour les différents Ultralytics tâches et modes! C'est beaucoup de choses à retenir, et il peut être facile d'oublier si l'argument est save_frame
ou save_frames
(c'est vraiment le cas save_frames
d'ailleurs). C'est là que les ultra.kwargs
snippets peuvent vous aider !
Exemple
Pour insérer la méthode predict , y compris tous les arguments d'inférence, utilisez 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[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
)
Ce snippet comporte des champs pour tous les arguments de mot-clé, mais aussi pour model
et src
au cas où vous auriez utilisé une variable différente dans votre code. Sur chaque ligne contenant un argument de mot-clé, une brève description est incluse à titre de référence.
Tous les extraits de code
La meilleure façon de découvrir les snippets disponibles est de télécharger et d'installer l'extension et de l'essayer ! Si vous êtes curieux et souhaitez consulter la liste au préalable, vous pouvez visiter le repo ou la page de l'extension sur le VS Code marketplace 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 apprentissage automatique de créer plus efficacement des applications de vision par ordinateur à l'aide d'Ultralytics YOLO. En fournissant des snippets de code pré-construits et des exemples utiles, nous vous aidons à vous concentrer sur ce qui compte le plus : la création de solutions innovantes. Veuillez partager vos commentaires en visitant la page de l'extension sur le VS Code marketplace et en laissant un avis. ⭐
FAQ
Comment puis-je demander un nouvel extrait de code ?
De nouveaux extraits de code peuvent être demandés via la section Issues sur le repo Ultralytics-Snippets.
Combien coûte l'extension Ultralytics ?
C'est 100% gratuit !
Pourquoi ne vois-je pas d'aperçu de l'extrait de code ?
VS Code utilise la combinaison de touches Ctrl+Espace pour afficher plus ou moins d'informations dans la fenêtre d'aperçu. Si vous ne voyez pas d'aperçu de l'extrait lorsque vous tapez un préfixe d'extrait de code, l'utilisation de cette combinaison de touches devrait restaurer l'aperçu.
Comment désactiver la recommandation d'extension dans Ultralytics ?
Si vous utilisez VS Code et que vous avez commencé à voir un message vous invitant à installer l'extension Ultralytics-snippets, et que vous ne voulez plus voir ce message, il existe deux façons de désactiver ce message.
-
Installez Ultralytics-snippets et le message ne s'affichera plus 😆 !
-
Vous pouvez utiliser
yolo settings vscode_msg False
pour désactiver l'affichage du message sans avoir à installer l'extension. Vous pouvez en apprendre davantage sur la page Paramètres Ultralytics sur le démarrage rapide si vous ne le connaissez pas.
J'ai une idée pour un nouvel extrait de code Ultralytics, comment puis-je en faire ajouter un ?
Visitez le repo Ultralytics-snippets et ouvrez une Issue ou une Pull Request !
Comment désinstaller l'extension Ultralytics-Snippets ?
Comme toute autre extension VS Code, vous pouvez la désinstaller en allant dans le menu Extensions de VS Code. Trouvez l'extension Ultralytics-snippets dans le menu et cliquez sur l'icône en forme de rouage (⚙), puis cliquez sur "Désinstaller" pour supprimer l'extension.