Link to this sectionEstensione VS Code di Ultralytics#
Watch: How to use Ultralytics Visual Studio Code Extension | Ready-to-Use Code Snippets | Ultralytics YOLO 🎉
Link to this sectionCaratteristiche e vantaggi#
✅ Sei un data scientist o un ingegnere di machine learning che crea applicazioni di computer vision con Ultralytics?
✅ Detesti scrivere ripetutamente gli stessi blocchi di codice?
✅ Dimentichi sempre gli argomenti o i valori predefiniti per i metodi export, predict, train, track o val?
✅ Vuoi iniziare a usare Ultralytics e desideri un modo più semplice per consultare o eseguire esempi di codice?
✅ Vuoi velocizzare il tuo ciclo di sviluppo quando lavori con Ultralytics?
Se usi Visual Studio Code e hai risposto 'sì' a una qualsiasi delle domande precedenti, allora l'estensione Ultralytics-snippets per VS Code è qui per aiutarti! Continua a leggere per saperne di più sull'estensione, su come installarla e come usarla.
Run example code using Ultralytics YOLO in under 20 seconds! 🚀
Link to this sectionIspirata dalla Community di Ultralytics#
L'ispirazione per creare questa estensione è nata dalla Community di Ultralytics. Le domande poste dalla Community su argomenti ed esempi simili hanno alimentato lo sviluppo di questo progetto. Inoltre, molti membri del team di Ultralytics utilizzano VS Code per accelerare il proprio lavoro ⚡.
Link to this sectionPerché VS Code?#
Visual Studio Code è estremamente popolare tra gli sviluppatori di tutto il mondo ed è stato classificato come il più popolare nel sondaggio Stack Overflow Developer Survey nel 2021, 2022, 2023 e 2024. Dato l'alto livello di personalizzazione, le funzionalità integrate, l'ampia compatibilità e l'estensibilità di VS Code, non sorprende che così tanti sviluppatori lo utilizzino. Vista la popolarità nella più ampia comunità di sviluppatori e all'interno delle community di Discord, Discourse, Reddit e GitHub di Ultralytics, aveva senso creare un'estensione VS Code per aiutare a semplificare il tuo flusso di lavoro e aumentare la tua produttività.
Vuoi farci sapere cosa usi per scrivere codice? Vai al sondaggio della community su Discourse e faccelo sapere! Mentre sei lì, magari dai un'occhiata ad alcuni dei nostri meme preferiti su computer vision, machine learning, AI e sviluppo, o pubblica pure il tuo preferito!
Link to this sectionInstallazione dell'estensione#
Qualsiasi ambiente di codice che consenta l'installazione di estensioni VS Code dovrebbe essere compatibile con l'estensione Ultralytics-snippets. Dopo la pubblicazione dell'estensione, è stato scoperto che neovim può essere reso compatibile con le estensioni VS Code. Per saperne di più, consulta la sezione di installazione di neovim nel file Readme nel repository di Ultralytics-Snippets.
Link to this sectionInstallazione in VS Code#
-
Vai al menu Estensioni in VS Code o usa la scorciatoia Ctrl+Shift ⇑+x e cerca Ultralytics-snippets.
-
Fai clic sul pulsante Install.
Link to this sectionInstallazione dal Marketplace delle estensioni di VS Code#
-
Visita il VS Code Extension Marketplace e cerca Ultralytics-snippets o vai direttamente alla pagina dell'estensione sul marketplace di VS Code.
-
Fai clic sul pulsante Install e consenti al tuo browser di avviare una sessione di VS Code.
-
Segui le istruzioni per installare l'estensione.
Visual Studio Code Extension Marketplace page for Ultralytics-Snippets
Link to this sectionUtilizzo dell'estensione Ultralytics-Snippets#
-
🧠 Completamento intelligente del codice: Scrivi codice più velocemente e con maggiore precisione grazie ai suggerimenti avanzati per il completamento del codice su misura per l'API di Ultralytics.
-
⌛ Maggiore velocità di sviluppo: Risparmia tempo eliminando attività di programmazione ripetitive e sfruttando snippet di blocchi di codice predefiniti.
-
🔬 Migliore qualità del codice: Scrivi codice più pulito, coerente e privo di errori con il completamento intelligente del codice.
-
💎 Flusso di lavoro semplificato: Rimani concentrato sulla logica principale del tuo progetto automatizzando le attività comuni.
Link to this sectionPanoramica#
L'estensione funzionerà solo quando la Modalità linguaggio è configurata per Python 🐍. Questo per evitare che gli snippet vengano inseriti quando si lavora su qualsiasi altro tipo di file. Tutti gli snippet hanno un prefisso che inizia con ultra e, digitando semplicemente ultra nel tuo editor dopo aver installato l'estensione, verrà visualizzato un elenco di possibili snippet da utilizzare. Puoi anche aprire la Tavolozza dei comandi di VS Code usando Ctrl+Shift ⇑+p ed eseguendo il comando Snippets: Insert Snippet.
Link to this sectionCampi degli snippet di codice#
Molti snippet hanno "campi" con valori o nomi segnaposto predefiniti. Ad esempio, l'output del metodo predict potrebbe essere salvato in una variabile Python chiamata r, results, detections, preds o qualsiasi altra scelta dallo sviluppatore, motivo per cui gli snippet includono "campi". Usando Tab ⇥ sulla tastiera dopo aver inserito uno snippet, il cursore si sposterà rapidamente tra i campi. Una volta selezionato un campo, digitare un nuovo nome di variabile cambierà quell'istanza, ma anche ogni altra istanza di quella variabile nel codice dello snippet!
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.
Link to this sectionCompletamenti degli snippet di codice#
Non è necessario digitare l'intero prefisso dello snippet o iniziare a digitare dall'inizio dello snippet. Guarda l'esempio nell'immagine qui sotto.
Gli snippet sono denominati nel modo più descrittivo possibile, ma questo significa che potrebbe esserci molto da digitare e ciò sarebbe controproducente se l'obiettivo è muoversi più velocemente. Fortunatamente, VS Code consente agli utenti di digitare ultra.example-yolo-predict, example-yolo-predict, yolo-predict o persino ex-yolo-p e raggiungere comunque l'opzione di snippet desiderata! Se lo snippet desiderato era effettivamente ultra.example-yolo-predict-kwords, allora basterà usare le frecce della tastiera ↑ o ↓ per evidenziare lo snippet desiderato e premere Enter ↵ o Tab ⇥ per inserire il blocco di codice corretto.
Typing ex-yolo-p will still arrive at the correct snippet.
Link to this sectionCategorie di snippet#
Queste sono le attuali categorie di snippet disponibili per l'estensione Ultralytics-snippets. Altre ne verranno aggiunte in futuro, quindi assicurati di verificare la presenza di aggiornamenti e di abilitare gli aggiornamenti automatici per l'estensione. Puoi anche richiedere snippet aggiuntivi da aggiungere se ritieni che ne manchi qualcuno.
| Categoria | Prefisso iniziale | Descrizione |
|---|---|---|
| Esempi | ultra.examples | Codice di esempio per aiutare ad imparare o per iniziare a lavorare con Ultralytics. Gli esempi sono copie o simili al codice presente nelle pagine della documentazione. |
| Kwargs | ultra.kwargs | Accelera lo sviluppo aggiungendo snippet per i metodi train, track, predict e val con tutti gli argomenti delle parole chiave e i valori predefiniti. |
| Imports | ultra.imports | Snippet per importare rapidamente oggetti Ultralytics comuni. |
| Modelli | ultra.yolo | Inserisci blocchi di codice per l'inizializzazione di vari modelli (yolo, sam, rtdetr, ecc.), incluse opzioni di configurazione a discesa. |
| Risultati | ultra.result | Blocchi di codice per operazioni comuni quando si lavora con i risultati di inferenza. |
| Utility | ultra.util | Fornisce un rapido accesso alle utilità comuni integrate nel pacchetto Ultralytics; scopri di più su queste nella pagina delle utilità semplici. |
Link to this sectionImparare con gli esempi#
Gli snippet ultra.examples sono molto utili per chiunque desideri imparare a iniziare con le basi del lavoro con Ultralytics YOLO. Gli snippet di esempio sono pensati per essere eseguiti una volta inseriti (alcuni hanno anche opzioni a discesa). Un esempio di ciò è mostrato nell'animazione in alto di questa pagina, dove, dopo l'inserimento dello snippet, tutto il codice viene selezionato ed eseguito in modo interattivo utilizzando Shift ⇑+Enter ↵.
Proprio come mostra l'animazione in alto di questa pagina, puoi utilizzare lo snippet ultra.example-yolo-predict per inserire il seguente esempio di codice. Una volta inserito, l'unica opzione configurabile è quella per la scala del modello, che può essere una delle seguenti: n, s, m, l o 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 imageLink to this sectionAccelerare lo sviluppo#
Lo scopo degli snippet diversi da ultra.examples è rendere lo sviluppo più semplice e veloce quando si lavora con Ultralytics. Un blocco di codice comune da utilizzare in molti progetti è quello di scorrere l'elenco di Results restituiti dall'utilizzo del metodo predict del modello. Lo snippet ultra.result-loop può aiutare in questo.
L'utilizzo di ultra.result-loop inserirà il seguente codice predefinito (commenti inclusi).
# reference https://docs.ultralytics.com/modes/predict/#working-with-results
for result in results:
result.boxes.data # torch.Tensor arrayTuttavia, poiché Ultralytics supporta numerosi task, quando si lavora con i risultati di inferenza ci sono altri attributi di Results a cui potresti voler accedere, ed è qui che i campi degli snippet si rivelano potenti.
Once tabbed to the boxes field, a dropdown menu appears to allow selection of another attribute as required.
Link to this sectionArgomenti delle parole chiave#
Ci sono oltre 💯 argomenti di parole chiave per tutti i vari task e modalità di Ultralytics! È difficile ricordarli tutti e può essere facile dimenticare se l'argomento sia save_frame o save_frames (a proposito, è decisamente save_frames). È qui che gli snippet ultra.kwargs possono aiutare!
Per inserire il metodo predict, inclusi tutti gli argomenti di inferenza, usa ultra.kwargs-predict, che inserirà il seguente codice (commenti inclusi).
model.predict(
source=src, # (str, optional) source directory for images or videos
imgsz=640, # (int | list) input images size as int or list[h,w] 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
)Questo snippet ha campi per tutti gli argomenti delle parole chiave, ma anche per model e src nel caso in cui tu abbia usato una variabile diversa nel tuo codice. Su ogni riga contenente un argomento di parola chiave, è inclusa una breve descrizione come riferimento.
Link to this sectionTutti gli snippet di codice#
Il modo migliore per scoprire quali snippet sono disponibili è scaricare e installare l'estensione e provarla! Se sei curioso e vuoi dare un'occhiata all'elenco in anticipo, puoi visitare il repo o la pagina dell'estensione sul marketplace di VS Code per visualizzare le tabelle di tutti gli snippet disponibili.
Link to this sectionConclusione#
L'estensione Ultralytics-Snippets per VS Code è progettata per consentire a data scientist e ingegneri di machine learning di creare applicazioni di computer vision utilizzando Ultralytics YOLO in modo più efficiente. Fornendo snippet di codice predefiniti ed esempi utili, ti aiutiamo a concentrarti su ciò che conta di più: creare soluzioni innovative. Condividi il tuo feedback visitando la pagina dell'estensione sul marketplace di VS Code e lasciando una recensione. ⭐
Link to this sectionFAQ#
Link to this sectionCome richiedo un nuovo snippet?#
È possibile richiedere nuovi snippet utilizzando le Issues sul repo di Ultralytics-Snippets.
Link to this sectionQuanto costa l'estensione di Ultralytics?#
È gratuita al 100%!
Link to this sectionPerché non vedo un'anteprima dello snippet di codice?#
VS Code utilizza la combinazione di tasti Ctrl+Space per mostrare maggiori/minori informazioni nella finestra di anteprima. Se non vedi un'anteprima dello snippet quando digiti un prefisso di snippet di codice, l'utilizzo di questa combinazione di tasti dovrebbe ripristinare l'anteprima.
Link to this sectionCome disabilito il consiglio di estensione in Ultralytics?#
Se utilizzi VS Code e hai iniziato a vedere un messaggio che ti invita a installare l'estensione Ultralytics-snippets e non vuoi più visualizzarlo, ci sono due modi per disabilitare questo messaggio.
-
Installa Ultralytics-snippets e il messaggio non verrà più mostrato 😆!
-
Puoi usare
yolo settings vscode_msg=Falseper disabilitare la visualizzazione del messaggio senza dover installare l'estensione. Puoi saperne di più sulle Impostazioni di Ultralytics nella pagina di avvio rapido se non le conosci.
Link to this sectionHo un'idea per un nuovo snippet di codice Ultralytics, come posso farne aggiungere uno?#
Visita il repo di Ultralytics-snippets e apri una Issue o una Pull Request!
Link to this sectionCome disinstallo l'estensione Ultralytics-Snippets?#
Come qualsiasi altra estensione di VS Code, puoi disinstallarla andando nel menu Estensioni in VS Code. Trova l'estensione Ultralytics-snippets nel menu, fai clic sull'icona dell'ingranaggio (⚙) e quindi su "Disinstalla" per rimuovere l'estensione.