Ultralytics Estensione del codice VS
Eseguite un esempio di codice utilizzando Ultralytics YOLO in meno di 20 secondi! 🚀
Caratteristiche e vantaggi
Siete un data scientist o un ingegnere di machine learning che costruisce applicazioni di computer vision con Ultralytics?
Disprezzate la scrittura ripetuta degli stessi blocchi di codice?
Si dimenticano sempre gli argomenti o i valori predefiniti dei metodi export, predict, train, track o val?
State iniziando a lavorare con Ultralytics e vorreste avere un modo più semplice per consultare o eseguire esempi di codice?
Volete accelerare il vostro ciclo di sviluppo quando lavorate con Ultralytics?
Se utilizzate Visual Studio Code e avete risposto 'sì' a una delle domande precedenti, allora l'estensione Ultralytics-snippets per VS Code è qui per aiutarvi! Continuate a leggere per saperne di più sull'estensione, su come installarla e su come utilizzarla.
Ispirato dalla comunità Ultralytics
L'ispirazione per costruire questa estensione è venuta dalla comunità di Ultralytics . Le domande della comunità su argomenti ed esempi simili hanno alimentato lo sviluppo di questo progetto. Inoltre, poiché alcuni membri del team di Ultralytics utilizzano VS Code, lo usiamo anche come strumento per accelerare il nostro lavoro ⚡.
Perché VS Code?
Visual Studio Code è estremamente popolare tra gli sviluppatori di tutto il mondo ed è stato classificato come il più popolare dal sondaggio sugli sviluppatori di Stack Overflow nel 2021, 2022, 2023 e 2024. Grazie all'elevato livello di personalizzazione, alle funzionalità integrate, all'ampia compatibilità e all'estensibilità di VS Code, non sorprende che così tanti sviluppatori lo utilizzino. Data la popolarità nella più ampia comunità di sviluppatori e all'interno delle comunità Ultralytics Discord, Discourse, Reddit e GitHub, ha avuto senso creare un'estensione di VS Code per aiutare a semplificare il flusso di lavoro e aumentare la produttività.
Volete farci sapere cosa usate per sviluppare codice? Andate al sondaggio della nostra comunità Discourse e fatecelo sapere! Mentre sei lì, dai un'occhiata ad alcuni dei nostri meme preferiti su computer vision, machine learning, AI e sviluppatori, o pubblica il tuo preferito!
Installazione dell'estensione
Nota
Qualsiasi ambiente di codice che consenta l'installazione di estensioni di VS Code dovrebbe essere compatibile con l'estensione Ultralytics-snippets. Dopo aver pubblicato l'estensione, si è scoperto che neovim può essere reso compatibile con le estensioni di VS Code. Per saperne di più, consultate il sito neovim
sezione di installazione del Readme nel file Ultralytics-Repository dei frammenti.
Installazione in VS Code
-
Accedere al menu Estensioni di VS Code o usare la scorciatoia Ctrl+Maiusc⇑+x e cercare Ultralytics-snippets.
-
Fare clic sul pulsante Installa.
Installazione dal mercato delle estensioni di VS Code
-
Visitate il mercato delle estensioni di VS Code e cercate Ultralytics-snippets o andate direttamente alla pagina dell'estensione sul mercato di VS Code.
-
Fate clic sul pulsante Installa e consentite al browser di avviare una sessione di VS Code.
-
Seguire le richieste per installare l'estensione.
Pagina del mercato delle estensioni di Visual Studio Code per Ultralytics-Frammenti
Utilizzo dell'estensione Ultralytics-Snippets
-
🧠 Completamento intelligente del codice: Scrivete il codice in modo più rapido e accurato grazie ai suggerimenti avanzati di completamento del codice adattati all'API di Ultralytics .
-
⌛ Maggiore velocità di sviluppo: risparmiate tempo eliminando le attività di codifica ripetitive e sfruttando gli snippet di blocchi di codice precostituiti.
-
🔬 Migliore qualità del codice: Scrivete codice più pulito, coerente e privo di errori grazie al completamento intelligente del codice.
-
💎 Flusso di lavoro semplificato: Rimanete concentrati sulla logica centrale del vostro progetto automatizzando le attività più comuni.
Panoramica
L'estensione funzionerà solo quando il Modalità lingua è configurato 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
nell'editor dopo aver installato l'estensione, visualizzerà un elenco di possibili snippet da utilizzare. È anche possibile aprire il codice VS Tavolozza dei comandi utilizzando Ctrl+Turno ⇑+p ed eseguire il comando Snippets: Insert Snippet
.
Campi dello snippet di codice
Molti snippet hanno "campi" con valori o nomi segnaposto predefiniti. Per esempio, l'output del metodo prevedere potrebbe essere salvato in una variabile di Python denominata r
, results
, detections
, preds
o qualsiasi altra cosa lo sviluppatore scelga, ed è per questo che gli snippet includono i "campi". Utilizzo di Scheda ⇥ dopo l'inserimento di uno snippet, il cursore si sposterà rapidamente da un campo all'altro. Una volta selezionato un campo, la digitazione di un nuovo nome di variabile cambierà quell'istanza, ma anche tutte le altre istanze del codice dello snippet per quella variabile!
Dopo aver inserito lo snippet, rinominato model
come world_model
aggiorna tutte le istanze. Premendo Scheda ⇥ passa al campo successivo, che apre un menu a tendina e consente di selezionare la scala del modello, mentre passando al campo successivo si ottiene un altro menu a tendina che consente di scegliere tra world
o worldv2
variante di modello.
Completamenti di snippet di codice
Scorciatoie ancora più brevi
Non è necessario digitare il prefisso completo dello snippet, né iniziare a digitare dall'inizio dello snippet. Si veda l'esempio nell'immagine sottostante.
Gli snippet sono denominati nel modo più descrittivo possibile, ma ciò significa che potrebbe esserci molto da digitare e ciò sarebbe controproducente se l'obiettivo è quello di spostare più veloce. Fortunatamente VS Code consente agli utenti di digitare ultra.example-yolo-predict
, example-yolo-predict
, yolo-predict
o anche ex-yolo-p
e raggiungere comunque l'opzione di snippet desiderata! Se lo snippet previsto era in realtà ultra.example-yolo-predict-kwords
, quindi utilizzando semplicemente le frecce della tastiera ↑ o ↓ per evidenziare il frammento desiderato e premendo Inserisci ↵ o Scheda ⇥ inserirà il blocco di codice corretto.
Dattilografia ex-yolo-p
volontà ancora arrivare allo snippet corretto.
Categorie di frammenti
Queste sono le attuali categorie di snippet disponibili per l'estensione Ultralytics-snippets. Ne verranno aggiunte altre in futuro, quindi assicuratevi di controllare gli aggiornamenti e di attivare l'aggiornamento automatico dell'estensione. È anche possibile richiedere l'aggiunta di altri snippet se si ritiene che ne manchino.
Categoria | Prefisso iniziale | Descrizione |
---|---|---|
Esempi | ultra.examples |
Codice di esempio per aiutare a imparare o per iniziare a usare Ultralytics. Gli esempi sono copie o simili al codice delle pagine di documentazione. |
Kwargs | ultra.kwargs |
Velocizzare lo sviluppo aggiungendo snippet per i metodi train, track, predict e val con tutti gli argomenti delle parole chiave e i valori predefiniti. |
Importazioni | ultra.imports |
Snippet per importare rapidamente gli oggetti comuni di Ultralytics . |
Modelli | ultra.yolo |
Inserire blocchi di codice per l'inizializzazione dei vari modelli (yolo , sam , rtdetr , ecc.), comprese le opzioni di configurazione a discesa. |
Risultati | ultra.result |
Blocchi di codice per operazioni comuni quando si lavora con i risultati dell'inferenza. |
Utilità | ultra.util |
Fornisce un accesso rapido alle utilità comuni integrate nel pacchetto Ultralytics ; per saperne di più, consultate la pagina delle utilità semplici. |
Imparare con gli esempi
Il ultra.examples
Gli snippet sono utili a chiunque voglia imparare le basi del lavoro con Ultralytics YOLO . Gli snippet di esempio sono destinati a essere eseguiti una volta inseriti (alcuni hanno anche opzioni a discesa). Un esempio di ciò è mostrato nell'animazione alla voce top di questa pagina, dove dopo l'inserimento dello snippet, tutto il codice viene selezionato ed eseguito in modo interattivo utilizzando Turno ⇑+Inserisci ↵.
Esempio
Proprio come gli spettacoli di animazione al top di questa pagina, è possibile utilizzare lo snippet ultra.example-yolo-predict
per inserire il seguente esempio di codice. Una volta inserito, l'unica opzione configurabile è la scala del modello, che può essere una qualsiasi delle seguenti: n
, s
, m
, l
, o x
.
Accelerare lo sviluppo
L'obiettivo per gli snippet diversi dall'elemento ultra.examples
servono a rendere più semplice e veloce lo sviluppo quando si lavora con Ultralytics. Un blocco di codice comunemente usato in molti progetti è quello di iterare l'elenco di Results
restituito dall'utilizzo del modello prevedere metodo. Il ultra.result-loop
può aiutare in questo senso.
Esempio
Utilizzando il ultra.result-loop
inserirà il seguente codice predefinito (compresi i commenti).
Tuttavia, poiché Ultralytics supporta numerosi compiti, quando lavorare con i risultati dell'inferenza ci sono altri Results
a cui si vuole accedere, ed è qui che si trova l'opzione campi snippet sarà potente.
Una volta che si è passati alla scheda boxes
appare un menu a tendina che consente di selezionare un altro attributo, se necessario.
Parole chiave Argomenti
Ci sono più di 💯 parole chiave per tutti i vari argomenti Ultralytics compiti e modalità! Sono molte le cose da ricordare e può essere facile dimenticarle se l'argomento è save_frame
o save_frames
(è sicuramente save_frames
a proposito). È qui che il ultra.kwargs
Gli snippet possono aiutare!
Esempio
Per inserire il prevedere metodo, compresi tutti i metodi argomenti di inferenza, utilizzare ultra.kwargs-predict
che inserirà il seguente codice (compresi i commenti).
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
)
Questo snippet ha campi per tutti gli argomenti delle parole chiave, ma anche per model
e src
nel caso in cui si sia utilizzata una variabile diversa nel codice. In ogni riga contenente un argomento di parola chiave, è inclusa una breve descrizione di riferimento.
Tutti i frammenti di codice
Il modo migliore per scoprire quali sono gli snippet disponibili è scaricare e installare l'estensione e provarla! Se siete curiosi e volete dare un'occhiata all'elenco in anticipo, potete visitare la pagina della repo o dell'estensione sul marketplace di VS Code per visualizzare le tabelle di tutti gli snippet disponibili.
Conclusione
L'estensione Ultralytics-Snippets per VS Code è stata progettata per consentire agli scienziati dei dati e agli ingegneri dell'apprendimento automatico di creare applicazioni di computer vision utilizzando Ultralytics YOLO in modo più efficiente. Fornendo snippet di codice precostituiti ed esempi utili, vi aiutiamo a concentrarvi su ciò che conta di più: creare soluzioni innovative. Condividete il vostro feedback visitando la pagina dell'estensione sul marketplace di VS Code e lasciando una recensione. ⭐
FAQ
Come si richiede un nuovo snippet?
Nuovi snippet possono essere richiesti utilizzando le Issues del repo Ultralytics-Snippets.
Quanto costa il sito Ultralytics-Extension?
E' gratuito al 100%!
Perché non vedo l'anteprima dello snippet di codice?
VS Code utilizza la combinazione di tasti Ctrl+Spazio per mostrare più o meno informazioni nella finestra di anteprima. Se non si vede l'anteprima dello snippet quando si digita il prefisso di uno snippet di codice, l'uso di questa combinazione di tasti dovrebbe ripristinare l'anteprima.
Come si fa a disabilitare la raccomandazione delle estensioni in Ultralytics?
Se utilizzate VS Code e avete iniziato a vedere un messaggio che vi chiede di installare l'estensione Ultralytics-snippets e non volete più vedere il messaggio, ci sono due modi per disabilitarlo.
-
Installare Ultralytics-snippets e il messaggio non verrà più visualizzato 😆!
-
È possibile utilizzare
yolo settings vscode_msg False
per disabilitare la visualizzazione del messaggio senza dover installare l'estensione. È possibile ottenere maggiori informazioni sull'estensione Ultralytics Impostazioni sul avvio rapido pagina se non si ha familiarità.
Ho un'idea per un nuovo snippet di codice di Ultralytics , come posso farne aggiungere uno?
Visitate il repo Ultralytics-snippets e aprite una issue o una richiesta di pull!
Come si disinstalla l'estensione Ultralytics-Snippets?
Come qualsiasi altra estensione di VS Code, è possibile disinstallarla navigando nel menu Estensioni di VS Code. Individuate l'estensione Ultralytics-snippets nel menu e fate clic sull'icona a forma di ingranaggio (⚙), quindi fate clic su "Disinstalla" per rimuovere l'estensione.