Skip to content

Ultralytics Extension du code VS


Snippet Prediction Preview
ExĂ©cutez un exemple de code en utilisant Ultralytics YOLO en moins de 20 secondes ! 🚀

Caractéristiques et avantages

✅ Vous ĂȘtes un scientifique des donnĂ©es ou un ingĂ©nieur en apprentissage automatique qui construit des applications de vision par ordinateur avec Ultralytics?

✅ Vous dĂ©testez Ă©crire les mĂȘmes blocs de code Ă  plusieurs reprises ?

Vous oubliez toujours les arguments ou les valeurs par défaut des méthodes export, predict, train, track ou val?

✅ Vous souhaitez commencer Ă  utiliser Ultralytics et vous aimeriez avoir un moyen plus facile de rĂ©fĂ©rencer ou d'exĂ©cuter des exemples de code ?

✅ Vous voulez accĂ©lĂ©rer votre cycle de dĂ©veloppement lorsque vous travaillez avec Ultralytics?

Si vous utilisez Visual Studio Code et que vous avez répondu "oui" à l'une des questions ci-dessus, l'extension Ultralytics-snippets pour VS Code est là pour vous aider ! Lisez la suite pour en savoir plus sur cette extension, comment l'installer et comment l'utiliser.

Inspiré par la communauté Ultralytics

L'inspiration pour construire cette extension est venue de la communautĂ© Ultralytics . Les questions de la communautĂ© sur 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 aussi comme 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 l'enquĂȘte 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 qu'un si grand nombre de dĂ©veloppeurs l'utilisent. Compte tenu de la popularitĂ© de VS Code auprĂšs de la communautĂ© des dĂ©veloppeurs et des communautĂ©sDiscord, Discourse, Reddit et GitHub( Ultralytics ), il Ă©tait logique de crĂ©er une extension VS Code pour vous aider Ă  rationaliser votre flux de travail et Ă  augmenter votre productivitĂ©.

Vous voulez nous dire 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, jetez un coup d'Ɠil Ă  nos mĂšmes prĂ©fĂ©rĂ©s sur la vision artificielle, l'apprentissage automatique, l'IA et les dĂ©veloppeurs, ou mĂȘme publiez vos mĂšmes prĂ©fĂ©rĂ©s !

Installation de l'extension

Note

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, voir la page neovim section d'installation du Readme dans le Ultralytics-DĂ©pĂŽt de snippets.

Installation dans VS Code

  1. AccĂ©dez au menu Extensions dans VS Code ou utilisez le raccourci Ctrl+Shift⇑+x, et recherchez Ultralytics-snippets.

  2. Cliquez sur le bouton Installer.


Menu de l'extension VS Code

Installation à partir de la place de marché des extensions VS Code

  1. Visitez le VS Code Extension Marketplace et recherchez Ultralytics-snippets ou allez directement Ă  la page de l'extension sur le VS Code Marketplace.

  2. Cliquez sur le bouton Installer et laissez votre navigateur lancer une session VS Code.

  3. Suivez les instructions pour installer l'extension.


VS Code installation de l'extension marketplace
Page du marché des extensions de Visual Studio Code pour Ultralytics-Bribes

Utilisation de l'extension Ultralytics-Snippets

  • 🧠 ComplĂ©tion intelligente du code : É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 .

  • ⌛ Accroissement de la vitesse de dĂ©veloppement : gagnez du temps en Ă©liminant les tĂąches de codage rĂ©pĂ©titives et en tirant parti d'extraits de blocs de code prĂ©construits.

  • 🔬 AmĂ©lioration de la qualitĂ© du code : RĂ©digez un code plus propre, plus cohĂ©rent et sans erreur grĂące Ă  la complĂ©tion intelligente du code.

  • 💎 Flux de travail rationalisĂ© : Restez concentrĂ© sur la logique centrale de votre projet en automatisant les tĂąches courantes.

Vue d'ensemble

L'extension ne fonctionnera que lorsque le Mode langue est configurĂ© pour Python 🐍. Ceci afin d'Ă©viter que les snippets ne soient insĂ©rĂ©s lorsque l'on travaille sur un autre type de fichier. Tous les snippets ont un prĂ©fixe commençant par ultraet en tapant simplement ultra dans votre Ă©diteur aprĂšs avoir installĂ© l'extension, affichera une liste de snippets possibles Ă  utiliser. Vous pouvez Ă©galement ouvrir la fenĂȘtre VS Code Palette de commandes en utilisant Ctrl+Majuscule ⇑+p et en exĂ©cutant la commande Snippets: Insert Snippet.

Champs de l'extrait de code

De nombreux snippets ont des "champs" avec des valeurs ou des noms par dĂ©faut. Par exemple, la sortie de l'outil prĂ©voir pourrait ĂȘtre sauvegardĂ©e dans une variable Python nommĂ©e r, results, detections, preds ou tout autre Ă©lĂ©ment choisi par le dĂ©veloppeur, c'est pourquoi les snippets comprennent des "champs". L'utilisation de Onglet ⇄ sur votre clavier aprĂšs l'insertion d'un extrait, votre curseur se dĂ©placera rapidement d'un champ Ă  l'autre. Une fois qu'un champ est sĂ©lectionnĂ©, la saisie d'un nouveau nom de variable modifie cette instance, mais aussi toutes les autres instances du code de l'extrait pour cette variable !


Champ et options de mise Ă  jour multiple
AprĂšs avoir insĂ©rĂ© le snippet, renommer model comme world_model met Ă  jour toutes les instances. En appuyant sur Onglet ⇄ permet de passer au champ suivant, qui ouvre un menu dĂ©roulant et permet de sĂ©lectionner une Ă©chelle de modĂšle, et en passant au champ suivant, on obtient un autre menu dĂ©roulant permettant de choisir l'une des deux options suivantes world ou worldv2 variante du modĂšle.

Compléments d'information sur les 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 Ă  partir du 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 de choses Ă  taper, ce qui serait contre-productif si l'objectif est de faire bouger les choses. plus rapide. Heureusement, VS Code permet aux utilisateurs de taper ultra.example-yolo-predict, example-yolo-predict, yolo-predictou mĂȘme ex-yolo-p et atteindre l'option de l'extrait prĂ©vu ! Si l'extrait voulu Ă©tait en fait ultra.example-yolo-predict-kwordspuis en utilisant simplement les flĂšches de votre clavier ↑ ou ↓ pour mettre en surbrillance l'extrait souhaitĂ© et en appuyant sur Entrer ↔ ou Onglet ⇄ insĂ©rera le bon bloc de code.


Exemple d'extrait incomplet
Dactylographie ex-yolo-p volonté encore arriver à l'extrait correct.

Catégories d'extraits

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 aider Ă  apprendre ou pour commencer Ă  utiliser Ultralytics. Les exemples sont des copies ou des similitudes avec le code des pages de documentation.
Kwargs ultra.kwargs Accélérez le développement en ajoutant des extraits pour les méthodes train, track, predict et val avec tous les arguments des mots clés et les valeurs par défaut.
Importations ultra.imports Snippets pour importer rapidement des objets courants sur Ultralytics .
ModÚles ultra.yolo Insérer des blocs de code pour l'initialisation des différents modÚles (yolo, sam, rtdetr), y compris les options de configuration de la liste déroulante.
Résultats ultra.result Blocs de code pour les opérations courantes lors de l'utilisation des résultats de l'inférence.
Utilitaires ultra.util Permet d'accéder rapidement aux utilitaires courants intégrés dans le paquetage Ultralytics . Pour en savoir plus sur ces utilitaires, consultez la page Utilitaires simples.

Apprendre avec des exemples

Le ultra.examples sont utiles Ă  toute personne souhaitant apprendre 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 page sommet de cette page, oĂč aprĂšs l'insertion de l'extrait, tout le code est sĂ©lectionnĂ© et exĂ©cutĂ© de maniĂšre interactive Ă  l'aide de la fonction Majuscule ⇑+Entrer ↔.

Exemple

Tout comme les spectacles d'animation au sommet 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, lou 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 pour les extraits autres que le ultra.examples sont destinés à faciliter et à accélérer le développement lorsque l'on travaille avec Ultralytics. Un bloc de code commun utilisé dans de nombreux projets consiste à itérer la liste de Results retournés à la suite de l'utilisation du modÚle prévoir méthode. La méthode ultra.result-loop peut vous aider.

Exemple

L'utilisation de la ultra.result-loop insÚre le code par défaut suivant (y compris les commentaires).

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

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

Cependant, étant donné que Ultralytics prend en charge de nombreux tùches, lorsque travailler avec les résultats de l'inférence il existe d'autres Results que vous pouvez souhaiter accéder, et c'est là que la fonction champs du snippet sera puissant.


Options de la boucle de résultats
Une fois que l'on a accédé à l'onglet boxes un menu déroulant apparaßt pour permettre la sélection d'un autre attribut.

Arguments sur les mots-clés

Il y a plus de 💯 arguments de mots clĂ©s pour tous les diffĂ©rents Ultralytics tĂąches et modes! C'est beaucoup de choses Ă  retenir et il est facile de les oublier si l'argument est save_frame ou save_frames (il s'agit bien d'un save_frames d'ailleurs). C'est ici que le ultra.kwargs Les snippets peuvent vous aider !

Exemple

Pour insérer le prévoir y compris tous les arguments de déduction, utiliser ultra.kwargs-predictqui insérera le code suivant (y compris 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 contient des champs pour tous les arguments du 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 mot-clĂ© argument, une brĂšve description est incluse Ă  titre de rĂ©fĂ©rence.

Tous les extraits de code

La meilleure façon de savoir quels sont les snippets disponibles est de tĂ©lĂ©charger et d'installer l'extension et de l'essayer ! Si vous ĂȘtes curieux et que vous voulez jeter un coup d'Ɠil Ă  la liste avant, vous pouvez visiter le repo ou la page de l'extension sur la place de marchĂ© VS Code pour voir les tableaux de tous les snippets disponibles.

Conclusion

L'extension Ultralytics-Snippets pour VS Code est conçue pour permettre aux scientifiques des données et aux ingénieurs en apprentissage automatique de créer des applications de vision par ordinateur utilisant Ultralytics YOLO plus efficacement. En fournissant des extraits de code préconstruits et des exemples utiles, nous vous aidons à vous concentrer sur ce qui compte le plus : créer des solutions innovantes. Veuillez partager vos commentaires en visitant la page de l'extension sur la place de marché VS Code et en laissant un avis. ⭐

FAQ

Comment demander un nouvel extrait ?

De nouveaux snippets peuvent ĂȘtre demandĂ©s en utilisant les Issues sur le repo Ultralytics-Snippets.

Combien coûte l'extension du site Ultralytics?

C'est 100% gratuit !

Pourquoi l'aperçu d'un extrait de code ne s'affiche-t-il pas ?

VS Code utilise la combinaison de touches Ctrl+Espace pour afficher plus ou moins d'informations dans la fenĂȘtre de prĂ©visualisation. Si vous ne voyez pas d'aperçu de l'extrait lorsque vous tapez le prĂ©fixe d'un extrait de code, l'utilisation de cette combinaison de touches devrait rĂ©tablir 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 y a deux façons de le désactiver.

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

  2. Vous pouvez utiliser yolo settings vscode_msg False pour dĂ©sactiver l'affichage du message sans avoir Ă  installer l'extension. Pour en savoir plus sur l'extension Ultralytics ParamĂštres sur le dĂ©marrage rapide si vous n'ĂȘtes pas familier avec le sujet.

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

Visitez le repo Ultralytics-snippets et ouvrez un problĂšme ou une demande de pull !

Comment désinstaller l'extension Ultralytics-Snippets ?

Comme toute autre extension de VS Code, vous pouvez la dĂ©sinstaller en vous rendant dans le menu Extensions de VS Code. Trouvez l'extension Ultralytics-snippets dans le menu et cliquez sur l'icĂŽne en forme de roue dentĂ©e (⚙), puis cliquez sur "Uninstall" pour supprimer l'extension.


Menu de l'extension VS Code

📅C rĂ©Ă© il y a 3 mois ✏ Mis Ă  jour il y a 2 mois

Commentaires