Zum Inhalt springen

Ultralytics VS Code Erweiterung



Ansehen: Wie man die Ultralytics Visual Studio Code Extension verwendet | Sofort einsatzbereite Code-Snippets | Ultralytics YOLO 🎉

Funktionen und Vorteile

✅ Sind Sie ein Data Scientist oder Machine-Learning-Ingenieur, der Computer-Vision-Anwendungen mit Ultralytics entwickelt?

✅ Verabscheuen Sie es, immer wieder die gleichen Codeblöcke zu schreiben?

✅ Vergessen Sie ständig die Argumente oder Standardwerte für die Methoden export, predict, train, track oder val?

✅ Möchten Sie mit Ultralytics loslegen und hätten gerne eine einfachere Möglichkeit, Codebeispiele zu referenzieren oder auszuführen?

✅ Möchten Sie Ihren Entwicklungszyklus bei der Arbeit mit Ultralytics beschleunigen?

Wenn Sie Visual Studio Code verwenden und eine der obigen Fragen mit 'Ja' beantwortet haben, dann ist die Ultralytics-Snippets-Erweiterung für VS Code hier, um Ihnen zu helfen! Lesen Sie weiter, um mehr über die Erweiterung zu erfahren, wie Sie sie installieren und wie Sie sie verwenden.


Snippet-Vorhersagevorschau
Beispielcode mit Ultralytics YOLO in weniger als 20 Sekunden ausführen! 🚀

Inspiriert von der Ultralytics Community

Die Inspiration zum Bau dieser Erweiterung kam von der Ultralytics Community. Fragen aus der Community zu ähnlichen Themen und Beispielen befeuerten die Entwicklung für dieses Projekt. Da einige Mitglieder des Ultralytics Teams ebenfalls VS Code verwenden, nutzen wir es auch als Werkzeug, um unsere Arbeit zu beschleunigen ⚡.

Warum VS Code?

Visual Studio Code ist bei Entwicklern weltweit äußerst beliebt und wurde in der Stack Overflow Developer Survey in den Jahren 2021, 2022, 2023 und 2024 als das beliebteste Tool eingestuft. Aufgrund des hohen Grades an Anpassbarkeit, der integrierten Funktionen, der breiten Kompatibilität und der Erweiterbarkeit von VS Code ist es keine Überraschung, dass so viele Entwickler es verwenden. Angesichts der Popularität in der breiteren Entwickler-Community und innerhalb der Ultralytics Discord-, Discourse-, Reddit- und GitHub-Communities war es sinnvoll, eine VS Code-Erweiterung zu entwickeln, um Ihren Workflow zu optimieren und Ihre Produktivität zu steigern.

Möchten Sie uns wissen lassen, was Sie für die Entwicklung von Code verwenden? Besuchen Sie unsere Discourse Community-Umfrage und lassen Sie es uns wissen! Wenn Sie schon dabei sind, schauen Sie sich doch einige unserer beliebtesten Computer Vision-, Machine Learning-, KI- und Entwickler-Memes an oder posten Sie sogar Ihre Favoriten!

Installation der Erweiterung

Hinweis

Jede Code-Umgebung, die die Installation von VS Code-Erweiterungen ermöglicht, sollte mit der Ultralytics-Snippets-Erweiterung kompatibel sein. Nach der Veröffentlichung der Erweiterung wurde festgestellt, dass neovim mit VS Code-Erweiterungen kompatibel gemacht werden kann. Um mehr zu erfahren, siehe den neovim Installationsabschnitt der Readme im Ultralytics-Snippets-Repository.

Installation in VS Code

  1. Navigieren Sie zum Erweiterungsmenü in VS Code oder verwenden Sie die Tastenkombination Strg+Umschalt ⇑+x und suchen Sie nach Ultralytics-Snippets.

  2. Klicken Sie auf die Schaltfläche Installieren.


VS Code-Erweiterungsmenü

Installation über den VS Code Extension Marketplace

  1. Besuchen Sie den VS Code Extension Marketplace und suchen Sie nach Ultralytics-Snippets oder gehen Sie direkt zur Erweiterungsseite im VS Code Marketplace.

  2. Klicken Sie auf die Schaltfläche Installieren und erlauben Sie Ihrem Browser, eine VS Code-Sitzung zu starten.

  3. Folgen Sie allen Anweisungen, um die Erweiterung zu installieren.


VS Code Marketplace-Erweiterungsinstallation
Visual Studio Code Extension Marketplace-Seite für Ultralytics-Snippets

Verwendung der Ultralytics-Snippets-Erweiterung

  • 🧠 Intelligente Codevervollständigung: Schreiben Sie Code schneller und genauer mit erweiterten Codevervollständigungsvorschlägen, die auf die Ultralytics API zugeschnitten sind.

  • Erhöhte Entwicklungsgeschwindigkeit: Sparen Sie Zeit, indem Sie sich wiederholende Programmieraufgaben eliminieren und vorgefertigte Codeblock-Snippets nutzen.

  • 🔬 Verbesserte Codequalität: Schreiben Sie saubereren, konsistenteren und fehlerfreien Code mit intelligenter Codevervollständigung.

  • 💎 Optimierter Workflow: Konzentrieren Sie sich auf die Kernlogik Ihres Projekts, indem Sie gängige Aufgaben automatisieren.

Überblick

Die Erweiterung funktioniert nur, wenn der Sprachmodus für Python 🐍 konfiguriert ist. Dies dient dazu, zu verhindern, dass Snippets bei der Arbeit mit anderen Dateitypen eingefügt werden. Alle Snippets haben ein Präfix, das mit ultrabeginnt, und einfaches Tippen von ultra in Ihrem Editor nach der Installation der Erweiterung zeigt eine Liste möglicher Snippets zur Verwendung an. Sie können auch die VS Code Befehlspalette mit Strg+Shift ⇑+p öffnen und den Befehl ausführen Snippets: Insert Snippet.

Code-Snippet-Felder

Viele Snippets haben "Felder" mit Standardplatzhalterwerten oder -namen. Zum Beispiel könnte die Ausgabe der vorhersagen Methode in einer Python-Variable namens r, results, detections, preds oder einem anderen Namen gespeichert werden, den ein Entwickler wählt. Aus diesem Grund enthalten Snippets "Felder". Durch Drücken der Tab ⇥ -Taste auf Ihrer Tastatur, nachdem ein Snippet eingefügt wurde, bewegt sich Ihr Cursor schnell zwischen den Feldern. Sobald ein Feld ausgewählt ist, ändert die Eingabe eines neuen Variablennamens diese Instanz, aber auch jede andere Instanz im Snippet-Code für diese Variable!


Feld und Optionen für Mehrfachaktualisierung
Nach dem Einfügen des Snippets, Umbenennen von model als world_model aktualisiert alle Instanzen. Durch Drücken von Tab ⇥ gelangt man zum nächsten Feld, wodurch ein Dropdown-Menü geöffnet wird, in dem eine Modellskala ausgewählt werden kann. Durch das Wechseln zum nächsten Feld öffnet sich ein weiteres Dropdown-Menü, in dem entweder world oder worldv2 Modellvariante ausgewählt werden kann.

Code-Snippet-Vervollständigungen

Noch kürzere Shortcuts

Es ist nicht erforderlich, das vollständige Präfix des Snippets einzugeben oder überhaupt am Anfang des Snippets mit der Eingabe zu beginnen. Siehe das Beispiel im Bild unten.

Die Snippets sind so beschreibend wie möglich benannt, was aber bedeutet, dass viel eingegeben werden muss, was kontraproduktiv wäre, wenn das Ziel eine schnellereArbeitsweise ist. Glücklicherweise können Benutzer in VS Code ultra.example-yolo-predict, example-yolo-predict, yolo-predictoder sogar ex-yolo-p eingeben und trotzdem die gewünschte Snippet-Option erreichen! Wenn das gewünschte Snippet eigentlich ultra.example-yolo-predict-kwordswar, dann kann man einfach mit den Pfeiltasten der Tastatur oder das gewünschte Snippet markieren und Enter ↵ oder Tab ⇥ drücken, um den korrekten Codeblock einzufügen.


Beispiel für unvollständiges Snippet
Die Eingabe von ex-yolo-p wird immer noch zum richtigen Snippet führen.

Snippet-Kategorien

Dies sind die aktuellen Snippet-Kategorien, die für die Ultralytics-Snippets-Erweiterung verfügbar sind. In Zukunft werden weitere hinzugefügt. Achten Sie daher auf Updates und aktivieren Sie automatische Updates für die Erweiterung. Sie können auch zusätzliche Snippets anfordern, wenn Sie der Meinung sind, dass etwas fehlt.

Kategorie Startpräfix Beschreibung
Beispiele ultra.examples Beispielcode zum Lernen oder für den Einstieg in Ultralytics. Die Beispiele sind Kopien von Code aus Dokumentationsseiten oder ähneln diesem.
Kwargs ultra.kwargs Beschleunigen Sie die Entwicklung durch Hinzufügen von Snippets für die Methoden train, track, predict und val mit allen Schlüsselwortargumenten und Standardwerten.
Importe ultra.imports Snippets zum schnellen Importieren gängiger Ultralytics-Objekte.
Modelle ultra.yolo Codeblöcke zum Initialisieren verschiedener einfügen Modelle (yolo, sam, rtdetr, usw.), einschließlich Dropdown-Konfigurationsoptionen.
Ergebnisse ultra.result Codeblöcke für gängige Operationen bei der Arbeit mit Inferenz-Ergebnissen.
Dienstprogramme ultra.util Bietet schnellen Zugriff auf gängige Dienstprogramme, die in das Ultralytics-Paket integriert sind. Erfahren Sie mehr darüber auf der Seite Einfache Dienstprogramme.

Lernen mit Beispielen

Die ultra.examples Snippets sind sehr nützlich für alle, die lernen möchten, wie man mit den Grundlagen der Arbeit mit Ultralytics YOLO beginnt. Beispiel-Snippets sind dazu gedacht, nach dem Einfügen einmal ausgeführt zu werden (einige haben auch Dropdown-Optionen). Ein Beispiel hierfür ist in der Animation unter zu sehen oben dieser Seite. Nachdem das Snippet eingefügt wurde, wird der gesamte Code ausgewählt und interaktiv mit Shift ⇑+Enter ↵.

Beispiel

Genau wie die Animation oben auf der oben dieser Seite zeigt, können Sie das Snippet ultra.example-yolo-predict verwenden, um das folgende Codebeispiel einzufügen. Nach dem Einfügen ist die einzige konfigurierbare Option die Modellskala, die eine der folgenden sein kann: n, s, m, l, oder 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

Beschleunigung der Entwicklung

Das Ziel für Snippets außer dem ultra.examples ist, die Entwicklung bei der Arbeit mit Ultralytics zu vereinfachen und zu beschleunigen. Ein gängiger Codeblock, der in vielen Projekten verwendet wird, ist das Iterieren der Liste der Results die von der Modell- vorhersagen Methode zurückgegeben wird. Das ultra.result-loop Snippet kann dabei helfen.

Beispiel

Verwendung des ultra.result-loop fügt den folgenden Standardcode (einschließlich Kommentare) ein.

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

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

Da Ultralytics jedoch zahlreiche Aufgabenunterstützt, kann das Arbeiten mit Inferenz-Ergebnissen Es gibt noch weitere Results Attribute, auf die Sie möglicherweise zugreifen möchten, und hier kommen die Snippet-Felder ins Spiel.


Optionen für Ergebnisschleife
Sobald Sie zum boxes Feld navigiert haben, erscheint ein Dropdown-Menü, in dem Sie bei Bedarf ein anderes Attribut auswählen können.

Schlüsselwortargumente

Es gibt über 💯 Schlüsselwortargumente für alle verschiedenen Ultralytics Aufgaben und Modi! Das ist eine Menge, an die man sich erinnern muss, und es kann leicht vergessen werden, wenn das Argument save_frame oder save_frames (übrigens ist es definitiv save_frames ). Hier können die ultra.kwargs Snippets helfen!

Beispiel

Um die vorhersagen Methode einzufügen, einschließlich aller Inferenzargumente., verwenden Sie ultra.kwargs-predict, wodurch der folgende Code (einschließlich Kommentare) eingefügt wird.

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
)

Dieses Snippet enthält Felder für alle Schlüsselwortargumente, aber auch für model und src , falls Sie eine andere Variable in Ihrem Code verwendet haben. In jeder Zeile, die ein Schlüsselwortargument enthält, ist eine kurze Beschreibung zur Referenz enthalten.

Alle Code-Snippets

Am besten finden Sie heraus, welche Snippets verfügbar sind, indem Sie die Erweiterung herunterladen, installieren und ausprobieren! Wenn Sie neugierig sind und sich die Liste vorher ansehen möchten, können Sie das Repo oder die Erweiterungsseite im VS Code Marketplace besuchen, um die Tabellen für alle verfügbaren Snippets anzuzeigen.

Fazit

Die Ultralytics-Snippets-Erweiterung für VS Code wurde entwickelt, um Data Scientists und Machine-Learning-Ingenieuren die Möglichkeit zu geben, Computer Vision-Anwendungen mit Ultralytics YOLO effizienter zu erstellen. Durch die Bereitstellung vorgefertigter Code-Snippets und nützlicher Beispiele helfen wir Ihnen, sich auf das Wesentliche zu konzentrieren: die Entwicklung innovativer Lösungen. Bitte teilen Sie uns Ihr Feedback mit, indem Sie die Erweiterungsseite im VS Code Marketplace besuchen und eine Bewertung hinterlassen. ⭐

FAQ

Wie kann ich ein neues Snippet anfordern?

Neue Snippets können über die Issues im Ultralytics-Snippets Repo angefordert werden.

Wie viel kostet die Ultralytics-Erweiterung?

Es ist 100% kostenlos!

Warum sehe ich keine Code-Snippet-Vorschau?

VS Code verwendet die Tastenkombination Strg+Leertaste, um mehr/weniger Informationen im Vorschaufenster anzuzeigen. Wenn beim Eingeben eines Code-Snippet-Präfixes keine Snippet-Vorschau angezeigt wird, sollte die Verwendung dieser Tastenkombination die Vorschau wiederherstellen.

Wie deaktiviere ich die Erweiterungsempfehlung in Ultralytics?

Wenn Sie VS Code verwenden und eine Meldung erhalten, die Sie auffordert, die Ultralytics-Snippets-Erweiterung zu installieren, und Sie diese Meldung nicht mehr sehen möchten, gibt es zwei Möglichkeiten, diese Meldung zu deaktivieren.

  1. Installieren Sie Ultralytics-Snippets, und die Meldung wird nicht mehr angezeigt 😆!

  2. Sie können verwenden yolo settings vscode_msg False um die Anzeige der Meldung zu deaktivieren, ohne die Erweiterung installieren zu müssen. Weitere Informationen finden Sie unter Ultralytics Einstellungen auf der Schnellstart Seite, falls Sie damit nicht vertraut sind.

Ich habe eine Idee für ein neues Ultralytics Code-Snippet. Wie kann ich es hinzufügen lassen?

Besuchen Sie das Ultralytics-Snippets Repo und eröffnen Sie ein Issue oder einen Pull Request!

Wie deinstalliere ich die Ultralytics-Snippets-Erweiterung?

Wie jede andere VS Code-Erweiterung können Sie sie deinstallieren, indem Sie zum Menü "Erweiterungen" in VS Code navigieren. Suchen Sie die Ultralytics-Snippets-Erweiterung im Menü und klicken Sie auf das Zahnradsymbol (⚙) und dann auf "Deinstallieren", um die Erweiterung zu entfernen.


VS Code-Erweiterungsmenü



📅 Erstellt vor 1 Jahr ✏️ Aktualisiert vor 4 Monaten

Kommentare