Ultralytics YOLO27:
Get Started

Ultralytics-Erweiterung für VS Code#



Ansehen: So verwendest du die Ultralytics-Erweiterung für Visual Studio Code | Sofort einsetzbare Code-Schnipsel | Ultralytics YOLO 🎉

Funktionen und Vorteile#

✅ Entwickelst du als Data Scientist oder Machine-Learning-Ingenieur Computer-Vision-Anwendungen mit Ultralytics?

✅ Hast du es satt, immer wieder dieselben Codeblöcke zu schreiben?

✅ Vergisst du ständig die Argumente oder Standardwerte der Methoden train, val, predict, export oder track?

✅ Möchtest du mit Ultralytics loslegen und wünschst dir eine einfachere Möglichkeit, auf Codebeispiele zuzugreifen oder sie auszuführen?

✅ Möchtest du deinen Entwicklungszyklus bei der Arbeit mit Ultralytics beschleunigen?

Wenn du Visual Studio Code verwendest und eine der obigen Fragen mit „Ja“ beantwortet hast, hilft dir die Erweiterung Ultralytics-snippets für VS Code weiter! Lies weiter, um mehr über die Erweiterung, ihre Installation und ihre Verwendung zu erfahren.


Snippet Prediction Preview
Führe Beispielcode mit Ultralytics YOLO in weniger als 20 Sekunden aus! 🚀

Inspiriert von der Ultralytics-Community#

Die Idee zu dieser Erweiterung stammt aus der Ultralytics-Community. Fragen aus der Community zu ähnlichen Themen und Beispielen gaben den Anstoß für die Entwicklung dieses Projekts. Außerdem verwenden viele Mitglieder des Ultralytics-Teams VS Code, um ihre eigene Arbeit zu beschleunigen ⚡.

Warum VS Code?#

Visual Studio Code ist bei Entwicklerinnen und Entwicklern auf der ganzen Welt äußerst beliebt und belegte in der Stack Overflow Developer Survey in den Jahren 2021, 2022, 2023 und 2024 den Spitzenplatz. Angesichts der umfassenden Anpassungsmöglichkeiten, der integrierten Funktionen, der breiten Kompatibilität und Erweiterbarkeit von VS Code ist es kein Wunder, dass so viele Entwicklerinnen und Entwickler die Anwendung nutzen. Wegen ihrer Beliebtheit in der breiten Entwickler-Community und in den Ultralytics-Communities auf Discord, Discourse, Reddit und GitHub lag es nahe, eine VS-Code-Erweiterung zu entwickeln, die deinen Arbeitsablauf vereinfacht und deine Produktivität steigert.

Möchtest du uns mitteilen, womit du Code entwickelst? Nimm an unserer Community-Umfrage auf Discourse teil und verrate es uns! Wenn du schon dort bist, kannst du dir auch einige unserer Lieblings-Memes zu Computer Vision, Machine Learning, KI und Entwicklung ansehen oder selbst dein Lieblings-Meme posten!

Erweiterung installieren#

Hinweis

Die Erweiterung Ultralytics-snippets sollte mit jeder Code-Umgebung kompatibel sein, in der sich VS-Code-Erweiterungen installieren lassen. Nach der Veröffentlichung der Erweiterung stellte sich heraus, dass sich auch neovim mit VS-Code-Erweiterungen kompatibel machen lässt. Weitere Informationen findest du im Abschnitt zur Installation von neovim in der Readme des Ultralytics-Snippets-Repositorys.

Installation in VS Code#

  1. Öffne das Erweiterungsmenü in VS Code oder verwende das Tastenkürzel Ctrl+Shift ⇑+x und suche nach Ultralytics-snippets.

  2. Klicke auf die Schaltfläche Install.


VS Code extension menu

Installation über den VS-Code-Erweiterungsmarktplatz#

  1. Rufe den VS-Code-Erweiterungsmarktplatz auf und suche nach Ultralytics-snippets oder öffne direkt die Erweiterungsseite im VS-Code-Marktplatz.

  2. Klicke auf die Schaltfläche Install und erlaube deinem Browser, eine VS-Code-Sitzung zu starten.

  3. Folge den Anweisungen, um die Erweiterung zu installieren.


VS Code marketplace extension install
Marketplace-Seite der Visual Studio Code-Erweiterung für Ultralytics-Snippets

Die Erweiterung Ultralytics-Snippets verwenden#

  • 🧠 Intelligente Codevervollständigung: Schreibe schneller und genauer dank fortschrittlicher Vorschläge zur Codevervollständigung, die auf die Ultralytics-API abgestimmt sind.

  • ⌛ Schnellere Entwicklung: Spare Zeit, indem du wiederkehrende Programmieraufgaben vermeidest und vorgefertigte Codeblöcke verwendest.

  • 🔬 Bessere Codequalität: Schreibe saubereren, einheitlicheren und fehlerfreien Code mit intelligenter Codevervollständigung.

  • 💎 Optimierter Arbeitsablauf: Konzentriere dich auf die Kernlogik deines Projekts, indem du häufig anfallende Aufgaben automatisierst.

Übersicht#

Die Erweiterung funktioniert nur, wenn als Sprachmodus Python eingestellt ist 🐍. So wird verhindert, dass Snippets in andere Dateitypen eingefügt werden. Alle Snippets beginnen mit dem Präfix ultra. Wenn du nach der Installation der Erweiterung einfach ultra in deinem Editor eingibst, wird eine Liste verfügbarer Snippets angezeigt. Du kannst auch mit Ctrl+Shift ⇑+p die Befehlspalette von VS Code öffnen und den Befehl Snippets: Insert Snippet ausführen.

Felder in Code-Snippets#

Viele Snippets enthalten „Felder“ mit Platzhaltern oder Namen als Standardwerte. Zum Beispiel kann die Ausgabe der Methode predict in einer Python-Variablen namens r, results, detections, preds oder einem anderen vom Entwickler gewählten Namen gespeichert werden. Deshalb enthalten die Snippets „Felder“. Wenn du nach dem Einfügen eines Snippets auf deiner Tastatur Tab ⇥ drückst, springt der Cursor schnell zwischen den Feldern hin und her. Sobald ein Feld ausgewählt ist, ändert die Eingabe eines neuen Variablennamens diesen Namen an der ausgewählten Stelle und an allen weiteren Stellen im Snippet-Code, an denen die Variable vorkommt!


Multi-update field and options
Wenn du das Snippet einfügst, aktualisiert das Umbenennen von model in world_model alle Vorkommen. Drücke Tab ⇥, um zum nächsten Feld zu wechseln. Dort kannst du im Dropdown-Menü eine Modellgröße auswählen. Im nächsten Feld erscheint ein weiteres Dropdown-Menü, in dem du entweder die Modellvariante world oder worldv2 auswählen kannst.

Vervollständigungen für Code-Snippets#

Noch _kürzere_ Tastenkürzel

Du musst nicht das vollständige Präfix eines Snippets eingeben oder mit der Eingabe am Anfang des Präfixes beginnen. Das folgende Bild zeigt ein Beispiel.

Die Snippets sind so aussagekräftig wie möglich benannt. Dadurch kann die Eingabe jedoch lang werden, was dem Ziel, schneller zu arbeiten, entgegenwirken würde. Zum Glück kannst du in VS Code ultra.example-yolo-predict, example-yolo-predict, yolo-predict oder sogar ex-yolo-p eingeben und trotzdem das gewünschte Snippet finden! Wenn das gewünschte Snippet tatsächlich ultra.example-yolo-predict-kwords heißt, kannst du einfach mit den Pfeiltasten ↑ oder ↓ das gewünschte Snippet markieren und es mit Enter ↵ oder Tab ⇥ als Codeblock einfügen.


VS Code incomplete code snippet preview
Wenn du ex-yolo-p eingibst, findest du weiterhin das richtige Snippet.

Snippet-Kategorien#

Dies sind die derzeit verfügbaren Kategorien der Erweiterung Ultralytics-snippets. Künftig kommen weitere hinzu. Suche daher regelmäßig nach Aktualisierungen und aktiviere die automatische Aktualisierung der Erweiterung. Du kannst auch weitere Snippets anfordern, wenn deiner Meinung nach welche fehlen.

KategorieAnfangspräfixBeschreibung
Beispieleultra.examplesBeispielcode, der beim Lernen oder beim Einstieg in Ultralytics hilft. Die Beispiele sind Kopien von Code aus Dokumentationsseiten oder daran angelehnt.
Schlüsselwortargumenteultra.kwargsBeschleunige die Entwicklung mit Snippets für die Methoden train, val, predict und track, einschließlich aller Schlüsselwortargumente und Standardwerte.
Importeultra.importsSnippets zum schnellen Import gängiger Ultralytics-Objekte.
Modelleultra.yoloFüge Codeblöcke zum Initialisieren verschiedener Modelle (yolo, sam, rtdetr usw.) ein, einschließlich Konfigurationsoptionen in Dropdown-Menüs.
Ergebnisseultra.resultCodeblöcke für gängige Vorgänge beim Arbeiten mit Inferenz-Ergebnissen.
Hilfsfunktionenultra.utilBietet schnellen Zugriff auf gängige Hilfsfunktionen des Ultralytics-Pakets. Mehr dazu erfährst du auf der Seite Einfache Hilfsfunktionen.

Mit Beispielen lernen#

Die Snippets ultra.examples sind für alle sehr nützlich, die lernen möchten, wie sie mit den Grundlagen von Ultralytics YOLO loslegen. Die Beispiel-Snippets sind so konzipiert, dass sie nach dem Einfügen ausgeführt werden können (einige bieten auch Dropdown-Optionen). Ein Beispiel siehst du in der Animation am Anfang dieser Seite: Nach dem Einfügen des Snippets wird der gesamte Code ausgewählt und mit Shift ⇑+Enter ↵ interaktiv ausgeführt.

Beispiel

Wie in der Animation am Anfang dieser Seite gezeigt, kannst du mit dem Snippet ultra.example-yolo-predict das folgende Codebeispiel einfügen. Nach dem Einfügen lässt sich nur die Modellgröße konfigurieren. Zur Auswahl stehen n, s, m, l und 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()  # auskommentieren, um jedes Ergebnisbild anzuzeigen

Entwicklung beschleunigen#

Die Snippets dienen – abgesehen von ultra.examples – dazu, die Entwicklung bei der Arbeit mit Ultralytics einfacher und schneller zu machen. Ein häufig verwendeter Codeblock in vielen Projekten durchläuft die Liste der Results, die von der Methode predict des Modells zurückgegeben wird. Das Snippet ultra.result-loop hilft dabei.

Beispiel

Mit ultra.result-loop wird der folgende Standardcode einschließlich der Kommentare eingefügt.

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

for result in results:
    result.boxes.data  # torch.Tensor-Array

Ultralytics unterstützt jedoch zahlreiche Aufgaben. Beim Arbeiten mit Inferenz-Ergebnissen möchtest du daher möglicherweise auf weitere Attribute von Results zugreifen. Hier kommen die Snippet-Felder zum Einsatz.


VS Code YOLO results visualization options
Sobald du mit der Tabulatortaste zum Feld boxes wechselst, erscheint ein Dropdown-Menü, in dem du bei Bedarf ein anderes Attribut auswählen kannst.

Schlüsselwortargumente#

Für die verschiedenen Ultralytics-Aufgaben und Modi gibt es über 💯 Schlüsselwortargumente! Das ist eine ganze Menge, und man kann leicht vergessen, ob ein Argument save_frame oder save_frames heißt (übrigens ist es definitiv save_frames). Hier helfen dir die Snippets ultra.kwargs!

Beispiel

Um die Methode predict einschließlich aller Inferenzargumente einzufügen, verwende ultra.kwargs-predict. Dadurch wird der folgende Code einschließlich der Kommentare eingefügt.

model.predict(
    source=src,  # (str, optional) Quellverzeichnis für Bilder oder Videos
    imgsz=640,  # (int | list) Größe der Eingabebilder als int oder als Liste [h,w] für die Vorhersage
    conf=0.25,  # (float) Mindest-Konfidenzschwellenwert
    iou=0.7,  # (float) Schwellenwert für intersection over union (IoU) bei NMS
    vid_stride=1,  # (int) Schrittweite der Videobildrate
    stream_buffer=False,  # (bool) Eingehende Einzelbilder in einer Warteschlange zwischenspeichern (True) oder nur das neueste Einzelbild behalten (False)
    visualize=False,  # (bool) Aktivierungskarten der Klassen speichern
    augment=False,  # (bool) Bildveränderung auf Vorhersagequellen anwenden
    agnostic_nms=False,  # (bool) Klassenunabhängige NMS
    classes=None,  # (int | list[int], optional) Ergebnisse nach Klasse filtern, z. B. classes=0 oder classes=[0,2,3]
    retina_masks=False,  # (bool) Segmentierungsmasken mit hoher Auflösung verwenden
    embed=None,  # (list[int], optional) Merkmalsvektoren/Einbettungen aus den angegebenen Schichten zurückgeben
    show=False,  # (bool) Vorhergesagte Bilder und Videos anzeigen, sofern die Umgebung dies zulässt
    save=True,  # (bool) Vorhersageergebnisse speichern
    save_frames=False,  # (bool) Einzelne vorhergesagte Videobilder speichern
    save_txt=False,  # (bool) Ergebnisse als .txt-Datei speichern
    save_conf=False,  # (bool) Ergebnisse mit Konfidenzwerten speichern
    save_crop=False,  # (bool) zugeschnittene Bilder mit Ergebnissen speichern
    stream=False,  # (bool) Lange Videos oder zahlreiche Bilder mit geringerem Speicherbedarf verarbeiten, indem ein Generator zurückgegeben wird
    verbose=True,  # (bool) Ausführliche Inferenzprotokollierung im Terminal aktivieren/deaktivieren
)

Dieses Snippet enthält Felder für alle Schlüsselwortargumente sowie für model und src, falls du in deinem Code eine andere Variable verwendet hast. In jeder Zeile mit einem Schlüsselwortargument findest du eine kurze Beschreibung als Referenz.

Alle Code-Snippets#

Am besten findest du heraus, welche Snippets verfügbar sind, indem du die Erweiterung herunterlädst, installierst und ausprobierst! Wenn du neugierig bist und dir die Liste vorab ansehen möchtest, findest du auf dem Repository oder der Erweiterungsseite im VS-Code-Marktplatz Tabellen mit allen verfügbaren Snippets.

Fazit#

Die Erweiterung Ultralytics-Snippets für VS Code soll Data Scientists und Machine-Learning-Ingenieurinnen und -Ingenieuren dabei helfen, effizienter Computer-Vision-Anwendungen mit Ultralytics YOLO zu entwickeln. Mit vorgefertigten Code-Snippets und hilfreichen Beispielen kannst du dich auf das Wesentliche konzentrieren: innovative Lösungen zu entwickeln. Teile dein Feedback mit uns, indem du die Erweiterungsseite im VS-Code-Marktplatz aufrufst und eine Bewertung hinterlässt. ⭐

Häufig gestellte Fragen#

  • Du kannst neue Snippets über die Issues im Repository von Ultralytics-Snippets anfordern.

  • Es ist 100 % kostenlos!

  • VS Code verwendet die Tastenkombination Ctrl+Space, um im Vorschaufenster mehr oder weniger Informationen anzuzeigen. Wenn beim Eingeben eines Code-Snippet-Präfixes keine Vorschau angezeigt wird, sollte sich die Vorschau mit dieser Tastenkombination wieder einblenden lassen.

  • Wenn du VS Code verwendest und eine Meldung angezeigt wird, die dich zur Installation der Erweiterung Ultralytics-snippets auffordert, du diese Meldung aber nicht mehr sehen möchtest, gibt es zwei Möglichkeiten, sie zu deaktivieren.

    1. Installiere Ultralytics-snippets, dann wird die Meldung nicht mehr angezeigt 😆!

    2. Mit yolo settings vscode_msg=False kannst du die Meldung deaktivieren, ohne die Erweiterung installieren zu müssen. Weitere Informationen findest du auf der Seite Ultralytics-Einstellungen, falls du damit nicht vertraut bist.

  • Besuche das Repository von Ultralytics-snippets und eröffne ein Issue oder einen Pull Request!

  • Wie jede andere VS-Code-Erweiterung kannst du sie über das Menü „Erweiterungen“ in VS Code deinstallieren. Suche im Menü nach der Erweiterung Ultralytics-snippets, klicke auf das Zahnradsymbol (⚙) und anschließend auf „Deinstallieren“, um die Erweiterung zu entfernen.


    VS Code extension menu

Kommentare