Ultralytics VS Code Eklentisi
İzle: Ultralytics Visual Studio Code Uzantısı Nasıl Kullanılır | Kullanıma Hazır Kod Parçacıkları | Ultralytics YOLO 🎉
Özellikler ve Faydalar
✅ Ultralytics ile bilgisayarlı görü uygulamaları geliştiren bir veri bilimcisi veya makine öğrenimi mühendisi misiniz?
✅ Aynı kod bloklarını tekrar tekrar yazmaktan nefret mi ediyorsunuz?
✅ export, predict, train, track veya val yöntemleri için argümanları veya varsayılan değerleri sürekli unutuyor musunuz?
✅ Ultralytics'e başlamak ve kod örneklerine başvurmanın veya çalıştırmanın daha kolay bir yoluna sahip olmayı mı diliyorsunuz?
✅ Ultralytics ile çalışırken geliştirme döngünüzü hızlandırmak mı istiyorsunuz?
Visual Studio Code kullanıyorsanız ve yukarıdakilerden herhangi birine 'evet' yanıtını verdiyseniz, VS Code için Ultralytics-snippets eklentisi size yardımcı olmak için burada! Eklenti hakkında daha fazla bilgi edinmek, nasıl kurulacağını ve nasıl kullanılacağını öğrenmek için okumaya devam edin.
Ultralytics YOLO kullanarak 20 saniyeden kısa sürede örnek kod çalıştırın! 🚀
Ultralytics Topluluğu'ndan esinlenilmiştir
Bu uzantıyı oluşturma ilhamı Ultralytics Topluluğu'ndan geldi. Topluluktan gelen benzer konular ve örneklerle ilgili sorular, bu projenin geliştirilmesini sağladı. Ek olarak, Ultralytics Ekibinin bazı üyeleri de VS Code kullandığından, biz de işimizi hızlandırmak için bir araç olarak kullanıyoruz ⚡.
Neden VS Code?
Visual Studio Code, dünya çapındaki geliştiriciler arasında son derece popülerdir ve Stack Overflow Geliştirici Anketi'nde 2021, 2022, 2023 ve 2024 yıllarında en popüler olarak sıralanmıştır. VS Code'un yüksek düzeyde özelleştirilebilir olması, yerleşik özellikleri, geniş uyumluluğu ve genişletilebilirliği sayesinde bu kadar çok geliştiricinin onu kullanması şaşırtıcı değildir. Daha geniş geliştirici topluluğundaki ve Ultralytics Discord, Discourse, Reddit ve GitHub Toplulukları içindeki popülaritesi göz önüne alındığında, iş akışınızı kolaylaştırmaya ve üretkenliğinizi artırmaya yardımcı olacak bir VS Code uzantısı oluşturmak mantıklıydı.
Kod geliştirmek için ne kullandığınızı bize bildirmek ister misiniz? Discourse topluluk anketimize gidin ve bize bildirin! Oradayken, belki en sevdiğimiz bilgisayar görüşü, makine öğrenimi, yapay zeka ve geliştirici memlerine göz atın, hatta en sevdiğinizi yayınlayın!
Uzantıyı Kurulum
Not
VS Code uzantılarının yüklenmesine izin verecek herhangi bir kod ortamı olmalı Ultralytics-snippets uzantısıyla uyumludur. Uzantıyı yayınladıktan sonra, keşfedildi ki neovim VS Code uzantılarıyla uyumlu hale getirilebilir. Daha fazla bilgi edinmek için şuraya bakın: neovim
yükleme bölümü 'deki Beni Oku dosyasının Ultralytics-Snippets deposu.
VS Code'da Kurulum
-
VS Code'daki Uzantılar menüsüne gidin veya Ctrl+Shift ⇑+x kısayolunu kullanın ve Ultralytics-snippets'i arayın.
-
Yükle düğmesine tıklayın.
VS Code Uzantı Mağazasından Kurulum
-
VS Code Uzantı Mağazasını ziyaret edin ve Ultralytics-snippets'i arayın veya doğrudan VS Code mağazasındaki uzantı sayfasına gidin.
-
Yükle düğmesine tıklayın ve tarayıcınızın bir VS Code oturumu başlatmasına izin verin.
-
Uzantıyı yüklemek için yönergeleri izleyin.
Şunun için Visual Studio Code Uzantı Mağazası sayfası: Ultralytics-Snippets
Ultralytics-Snippets Uzantısını Kullanarak
-
🧠 Akıllı Kod Tamamlama: Ultralytics API'sine göre uyarlanmış gelişmiş kod tamamlama önerileriyle daha hızlı ve daha doğru kod yazın.
-
⌛ Gelişmiş Geliştirme Hızı: Tekrarlayan kodlama görevlerini ortadan kaldırarak ve önceden oluşturulmuş kod bloğu parçacıklarından yararlanarak zamandan tasarruf edin.
-
🔬 Gelişmiş Kod Kalitesi: Akıllı kod tamamlama ile daha temiz, daha tutarlı ve hatasız kod yazın.
-
💎 Kolaylaştırılmış İş Akışı: Yaygın görevleri otomatikleştirerek projenizin temel mantığına odaklanın.
Genel Bakış
Uzantı yalnızca şu durumlarda çalışır: Dil Modu Python 🐍 için yapılandırılmıştır. Bu, başka herhangi bir dosya türü üzerinde çalışırken snippet'lerin eklenmesini önlemek içindir. Tüm snippet'lerin öneki şununla başlar: ultra
, ve sadece şunu yazarak ultra
uzantıyı yükledikten sonra düzenleyicinizde, kullanılacak olası snippet'lerin bir listesini görüntüler. Ayrıca VS Code'u da açabilirsiniz Komut Paleti kullanarak Ctrl+Kaydırma ⇑+p ve komutu çalıştırarak Snippets: Insert Snippet
.
Kod Parçacığı Alanları
Birçok snippet'in varsayılan yer tutucu değerlere veya adlara sahip "alanları" vardır. Örneğin, çıktısı predict metodu adlı bir python değişkenine kaydedilebilir. r
, results
, detections
, preds
veya bir geliştiricinin seçtiği başka herhangi bir şey; bu nedenle snippet'ler "alanlar" içerir. Kullanarak Sekme ⇥ Bir snippet eklendikten sonra klavyenizdeki tuşuna bastığınızda, imleciniz alanlar arasında hızla hareket edecektir. Bir alan seçildikten sonra, yeni bir değişken adı yazmak o örneği değiştirecek, ancak aynı zamanda o değişken için snippet kodundaki diğer tüm örnekleri de değiştirecektir!
Parçacığı ekledikten sonra, yeniden adlandırma model
olarak world_model
tüm örnekleri günceller. Şuna basmak: Sekme ⇥ bir sonraki alana geçer, bu da bir açılır menü açar ve bir model ölçeği seçimine izin verir ve bir sonraki alana geçmek, şunlardan birini seçmek için başka bir açılır menü sağlar: world
veya worldv2
model varyantı.
Kod Parçacığı Tamamlamaları
Daha da Kısa Kısayollar
Snippet'in tam ön ekini yazmak veya snippet'in başından yazmaya başlamak gerekli değildir. Aşağıdaki resimde örneğe bakın.
Snippet'ler mümkün olan en açıklayıcı şekilde adlandırılmıştır, ancak bu, yazılacak çok şey olabileceği anlamına gelir ve amaç hareket etmekse bu verimsiz olur. daha hızlı. Neyse ki VS Code, kullanıcıların şunu yazmasına izin veriyor: ultra.example-yolo-predict
, example-yolo-predict
, yolo-predict
, hatta ex-yolo-p
ve yine de amaçlanan snippet seçeneğine ulaşın! Amaçlanan snippet aslında ultra.example-yolo-predict-kwords
, ardından sadece klavyenizdeki ok tuşlarını kullanarak ↑ veya ↓ istediğiniz snippet'i vurgulamak ve şuna basmak için Girin ↵ veya Sekme ⇥ doğru kod bloğunu ekleyecektir.
Yazma ex-yolo-p
olacak hala doğru snippet'e ulaşın.
Snippet Kategorileri
Bunlar, Ultralytics-snippets uzantısı için mevcut olan mevcut snippet kategorileridir. Gelecekte daha fazlası eklenecektir, bu nedenle güncellemeleri kontrol ettiğinizden ve uzantı için otomatik güncellemeleri etkinleştirdiğinizden emin olun. Eksik olduğunu düşünüyorsanız, eklenmesi için ek snippet'ler de isteyebilirsiniz.
Kategori | Başlangıç Öneki | Açıklama |
---|---|---|
Örnekler | ultra.examples |
Ultralytics'e başlamanıza yardımcı olacak veya öğrenmenizi sağlayacak örnek kod. Örnekler, dokümantasyon sayfalarındaki kodların kopyaları veya benzerleridir. |
Kwargs | ultra.kwargs |
Tüm anahtar kelime argümanları ve varsayılan değerlerle train, track, predict ve val metotları için snippet'ler ekleyerek geliştirmeyi hızlandırın. |
İçe Aktarmalar | ultra.imports |
Yaygın Ultralytics nesnelerini hızla içe aktarmak için snippet'ler. |
Modeller | ultra.yolo |
Çeşitli başlatma için kod blokları ekleyin modeller (yolo , sam , rtdetr , vb.), açılır menü yapılandırma seçenekleri dahil. |
Sonuçlar | ultra.result |
Çıkarım sonuçlarıyla çalışırken yaygın işlemler için kod blokları. |
Araçlar | ultra.util |
Basit Yardımcı Programlar sayfasında bunlar hakkında daha fazla bilgi edinin, Ultralytics paketine yerleşik yaygın yardımcı programlara hızlı erişim sağlar. |
Örneklerle Öğrenme
ultra.examples
snippet'ler, Ultralytics YOLO ile çalışmanın temellerine nasıl başlanacağını öğrenmek isteyen herkes için çok yararlıdır. Örnek snippet'ler, eklendikten sonra bir kez çalıştırılmak üzere tasarlanmıştır (bazılarında açılır menü seçenekleri de bulunur). Bunun bir örneği, animasyonda gösterilmektedir. üst Bu sayfanın, kod parçacığı eklendikten sonra tüm kodun seçilip kullanılarak etkileşimli olarak çalıştırıldığı bölümünde Kaydırma ⇑+Girin ↵.
Örnek
Tıpkı animasyonun gösterdiği gibi üst Bu sayfanın bölümünde, kod parçacığını kullanabilirsiniz ultra.example-yolo-predict
aşağıdaki kod örneğini eklemek için. Eklendikten sonra, yapılandırılabilir tek seçenek, şu değerlerden herhangi biri olabilen model ölçeğidir: n
, s
, m
, l
, veya 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
Geliştirmeyi Hızlandırma
Şunun dışındaki snippet'ler için amaç ultra.examples
Ultralytics ile çalışırken geliştirmeyi kolaylaştırmak ve hızlandırmak içindir. Birçok projede kullanılacak ortak bir kod bloğu, listeyi yinelemektir Results
modeli kullanmaktan döndürüldü predict yöntemi. Şunun ultra.result-loop
snippet bu konuda yardımcı olabilir.
Örnek
Şunu kullanarak ultra.result-loop
aşağıdaki varsayılan kodu (yorumlar dahil) ekleyecektir.
# reference https://docs.ultralytics.com/modes/predict/#working-with-results
for result in results:
result.boxes.data # torch.Tensor array
Ancak, Ultralytics çok sayıda şeyi desteklediğinden görevler, ne zaman çıkarım sonuçlarıyla çalışma başka var Results
erişmek isteyebileceğiniz özellikler, burası da snippet alanları güçlü olacak.
'e geçtikten sonra boxes
alanında, gerektiğinde başka bir özniteliğin seçilmesine izin veren bir açılır menü görünür.
Anahtar Kelimeler Argümanları
Çeşitli Ultralytics için 💯 üzerinde anahtar kelime argümanı bulunmaktadır görevler ve modları! Bu hatırlanması gereken çok şey ve argüman save_frame
veya save_frames
(kesinlikle save_frames
bu arada). İşte burası ultra.kwargs
snippet'ler yardımcı olabilir!
Örnek
Eklemek için predict yöntemi, tümü dahil çıkarım argümanları, kullanın ultra.kwargs-predict
, bu da aşağıdaki kodu (yorumlar dahil) ekleyecektir.
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
)
Bu snippet'te tüm anahtar kelime argümanları için alanlar vardır, ancak aynı zamanda model
ve src
kodunuzda farklı bir değişken kullandıysanız. Anahtar kelime argümanı içeren her satırda, referans için kısa bir açıklama bulunur.
Tüm Kod Parçacıkları
Hangi snippet'lerin mevcut olduğunu öğrenmenin en iyi yolu, uzantıyı indirip kurmak ve denemektir! Merak ediyorsanız ve listeye önceden göz atmak istiyorsanız, mevcut tüm snippet'lerin tablolarını görüntülemek için repo'yu veya VS Code pazarındaki uzantı sayfasını ziyaret edebilirsiniz.
Sonuç
VS Code için Ultralytics-Snippets eklentisi, veri bilimcilerinin ve makine öğrenimi mühendislerinin Ultralytics YOLO kullanarak bilgisayarla görme uygulamalarını daha verimli bir şekilde oluşturmalarını sağlamak için tasarlanmıştır. Önceden oluşturulmuş kod parçacıkları ve faydalı örnekler sağlayarak, en önemli olana odaklanmanıza yardımcı oluyoruz: yenilikçi çözümler oluşturmak. Lütfen VS Code pazar yerindeki eklenti sayfasını ziyaret ederek ve bir inceleme bırakarak geri bildiriminizi paylaşın. ⭐
SSS
Yeni bir snippet'i nasıl talep ederim?
Yeni snippet'ler, Ultralytics-Snippets deposundaki Sorunlar (Issues) kullanılarak talep edilebilir.
Ultralytics-Extension'ın Maliyeti ne kadar?
%100 ücretsiz!
Neden bir kod parçacığı önizlemesi göremiyorum?
VS Code, önizleme penceresinde daha fazla/daha az bilgi göstermek için Ctrl+Space tuş kombinasyonunu kullanır. Bir kod parçacığı öneki yazdığınızda bir parçacık önizlemesi görmüyorsanız, bu tuş kombinasyonunu kullanmak önizlemeyi geri yüklemelidir.
Ultralytics'te uzantı önerisini nasıl devre dışı bırakırım?
VS Code kullanıyorsanız ve Ultralytics-snippets eklentisini yüklemenizi isteyen bir mesaj görmeye başladıysanız ve artık bu mesajı görmek istemiyorsanız, bu mesajı devre dışı bırakmanın iki yolu vardır.
-
Ultralytics-snippets'i kurun, böylece bu mesaj artık gösterilmeyecek 😆!
-
Şunu kullanıyor olabilirsiniz:
yolo settings vscode_msg False
uzantıyı yüklemek zorunda kalmadan mesajın gösterilmesini devre dışı bırakmak için. Hakkında daha fazla bilgi edinebilirsiniz Ultralytics Ayarları üzerinde hızlı başlangıç sayfasına göz atın.
Yeni bir Ultralytics kod parçacığı için bir fikrim var, nasıl ekletebilirim?
Ultralytics-snippets deposu ziyaret edin ve bir Sorun veya Çekme İsteği açın!
Ultralytics-Snippets Uzantısını nasıl kaldırırım?
Diğer VS Code uzantıları gibi, VS Code'daki Uzantılar menüsüne giderek de kaldırabilirsiniz. Menüde Ultralytics-snippets uzantısını bulun ve dişli simgesine (⚙) ve ardından uzantıyı kaldırmak için "Kaldır"a tıklayın.