Ultralytics YOLO27:

Ultralytics VS Code Uzantısı#



Watch: How to use Ultralytics Visual Studio Code Extension | Ready-to-Use Code Snippets | Ultralytics YOLO 🎉

Özellikler ve Avantajlar#

✅ Ultralytics ile bilgisayarlı görü uygulamaları geliştiren bir veri bilimcisi veya makine öğrenimi mühendisi misin?

✅ Aynı kod bloklarını tekrar tekrar yazmaktan nefret mi ediyorsun?

export, predict, train, track veya val yöntemlerinin bağımsız değişkenlerini ya da varsayılan değerlerini sürekli mi unutuyorsun?

✅ Ultralytics ile çalışmaya başlamak istiyor ve kod örneklerine başvurmanın veya bunları çalıştırmanın daha kolay bir yolunun olmasını mı diliyorsun?

✅ Ultralytics ile çalışırken geliştirme döngünü hızlandırmak mı istiyorsun?

Visual Studio Code kullanıyor ve yukarıdakilerden herhangi birine "evet" yanıtını verdiysen Ultralytics-snippets uzantısı sana yardımcı olmak için burada! Uzantı, nasıl kurulacağı ve nasıl kullanılacağı hakkında daha fazla bilgi edinmek için okumaya devam et.


Snippet Prediction Preview
Run example code using Ultralytics YOLO in under 20 seconds! 🚀

Ultralytics Topluluğundan İlham Alındı#

Bu uzantıyı geliştirme fikri Ultralytics Topluluğundan geldi. Topluluktan benzer konular ve örneklerle ilgili gelen sorular bu projenin geliştirilmesini teşvik etti. Ayrıca Ultralytics ekibinin birçok üyesi kendi çalışmalarını hızlandırmak için VS Code kullanıyor ⚡.

Neden VS Code?#

Visual Studio Code dünya genelindeki geliştiriciler arasında son derece popülerdir ve 2021, 2022, 2023 ve 2024 yıllarında Stack Overflow Geliştirici Anketi'nde en popüler araç olarak sıralanmıştır. VS Code'un yüksek düzeyde özelleştirilebilirliği, yerleşik özellikleri, geniş uyumluluğu ve genişletilebilirliği göz önüne alındığında, bu kadar çok geliştiricinin onu kullanması şaşırtıcı değil. Geniş geliştirici topluluğunda ve Ultralytics Discord, Discourse, Reddit ve GitHub Topluluklarında popüler olması nedeniyle, iş akışını kolaylaştırmana ve üretkenliğini artırmana yardımcı olacak bir VS Code uzantısı geliştirmek mantıklıydı.

Kod geliştirmek için ne kullandığını bize bildirmek ister misin? Discourse topluluk anketimize gidip bize bildir! Oradayken bilgisayarlı görü, makine öğrenimi, yapay zeka ve geliştiricilerle ilgili favori meme'lerimize göz atabilir veya kendi favorini paylaşabilirsin!

Uzantıyı Yükleme#

Not

VS Code uzantılarının yüklenmesine izin veren herhangi bir kod ortamı Ultralytics-snippets uzantısıyla uyumlu olmalıdır. Uzantı yayımlandıktan sonra neovim'in VS Code uzantılarıyla uyumlu hale getirilebildiği keşfedildi. Daha fazla bilgi için Ultralytics-Snippets deposundaki Readme dosyasının neovim kurulum bölümüne bakabilirsin.

VS Code'a Yükleme#

  1. VS Code'daki Extensions menüsüne git veya Ctrl+Shift ⇑+x kısayolunu kullan ve Ultralytics-snippets için arama yap.

  2. Install düğmesine tıkla.


VS Code extension menu

VS Code Extension Marketplace'ten Yükleme#

  1. VS Code Extension Marketplace'i ziyaret edip Ultralytics-snippets için arama yap veya doğrudan VS Code marketplace'teki uzantı sayfasına git.

  2. Install düğmesine tıkla ve tarayıcının bir VS Code oturumu başlatmasına izin ver.

  3. Uzantıyı yüklemek için görüntülenen istemleri takip et.


VS Code marketplace extension install
Visual Studio Code Extension Marketplace page for Ultralytics-Snippets

Ultralytics-Snippets Uzantısını Kullanma#

  • 🧠 Akıllı Kod Tamamlama: Ultralytics API'sine göre uyarlanmış gelişmiş kod tamamlama önerileriyle daha hızlı ve daha doğru kod yaz.

  • Artırılmış Geliştirme Hızı: Tekrarlayan kodlama görevlerini ortadan kaldırıp önceden hazırlanmış kod bloğu parçacıklarından yararlanarak zaman kazan.

  • 🔬 Geliştirilmiş Kod Kalitesi: Akıllı kod tamamlamayla daha temiz, daha tutarlı ve hatasız kod yaz.

  • 💎 Kolaylaştırılmış İş Akışı: Yaygın görevleri otomatikleştirerek projenin temel mantığına odaklan.

Genel Bakış#

Uzantı yalnızca Language Mode Python 🐍 olarak yapılandırıldığında çalışır. Bunun amacı, başka bir dosya türü üzerinde çalışırken parçacıkların eklenmesini önlemektir. Tüm parçacıkların ultra ile başlayan bir ön eki vardır; uzantıyı yükledikten sonra düzenleyicide ultra yazman, kullanılabilecek parçacıkların bir listesini görüntüler. Ayrıca Ctrl+Shift ⇑+p tuşlarını kullanarak VS Code Command Palette'i açabilir ve Snippets: Insert Snippet komutunu çalıştırabilirsin.

Kod Parçacığı Alanları#

Birçok parçacıkta varsayılan yer tutucu değerleri veya adları içeren "alanlar" bulunur. Örneğin predict yönteminin çıktısı r, results, detections, preds adlı bir Python değişkenine veya geliştiricinin seçtiği başka bir ada kaydedilebilir; parçacıkların "alanlar" içermesinin nedeni budur. Bir parçacık eklendikten sonra klavyende Tab ⇥ tuşunu kullanarak imleci alanlar arasında hızla hareket ettirebilirsin. Bir alan seçildiğinde yeni bir değişken adı yazmak o örneği ve parçacık kodundaki söz konusu değişkenin diğer tüm örneklerini değiştirir!


Multi-update field and options
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.

Kod Parçacığı Tamamlama#

Daha da _Kısa_ Kısayollar

Parçacığın tam ön ekini yazman, hatta parçacığın başından yazmaya başlaman gerekmez. Aşağıdaki görseldeki örneğe bakabilirsin.

Parçacıklar olabildiğince açıklayıcı şekilde adlandırılır; ancak bu, yazılacak çok şey olabileceği ve amacın daha hızlı ilerlemek olduğu için bunun verimsiz olabileceği anlamına gelir. Neyse ki VS Code, kullanıcıların ultra.example-yolo-predict, example-yolo-predict, yolo-predict veya hatta ex-yolo-p yazmasına ve yine de amaçlanan parçacık seçeneğine ulaşmasına izin verir! Amaçlanan parçacık aslında ultra.example-yolo-predict-kwords ise istediğin parçacığı vurgulamak için klavyendeki veya oklarını kullanıp Enter ↵ ya da Tab ⇥ tuşuna basman doğru kod bloğunu ekler.


VS Code incomplete code snippet preview
Typing ex-yolo-p will still arrive at the correct snippet.

Parçacık Kategorileri#

Bunlar Ultralytics-snippets uzantısında şu anda kullanılabilen parçacık kategorileridir. Gelecekte daha fazlası eklenecek; bu nedenle güncellemeleri kontrol ettiğinden ve uzantı için otomatik güncellemeleri etkinleştirdiğinden emin ol. Eksik olduğunu düşündüğün parçacıkların eklenmesi için ek parçacık talebinde de bulunabilirsin.

KategoriBaşlangıç Ön EkiAçıklama
Örneklerultra.examplesUltralytics ile öğrenmene veya çalışmaya başlamana yardımcı olacak örnek kod. Örnekler, dokümantasyon sayfalarındaki kodların kopyalarıdır veya bunlara benzerdir.
Kwargsultra.kwargsTüm anahtar kelime bağımsız değişkenleri ve varsayılan değerleriyle train, track, predict ve val yöntemleri için parçacıklar ekleyerek geliştirmeyi hızlandır.
Importsultra.importsYaygın Ultralytics nesnelerini hızla içe aktarmak için parçacıklar.
Modellerultra.yoloÇeşitli modelleri başlatmak için (yolo, sam, rtdetr vb.) açılır yapılandırma seçeneklerini de içeren kod blokları ekle.
Sonuçlarultra.resultÇıkarım sonuçlarıyla çalışırken gerçekleştirilen yaygın işlemler için kod blokları.
Yardımcı Programlarultra.utilUltralytics paketinde yerleşik olarak bulunan yaygın yardımcı programlara hızlı erişim sağlar; bunlar hakkında daha fazla bilgiyi Simple Utilities sayfasında bulabilirsin.

Örneklerle Öğrenme#

ultra.examples parçacıkları, Ultralytics YOLO ile çalışmanın temellerini öğrenmek ve nasıl başlanacağını anlamak isteyen herkes için çok kullanışlıdır. Örnek parçacıklar, eklendikten sonra bir kez çalıştırılmak üzere tasarlanmıştır (bazılarında açılır seçenekler de bulunur). Bunun bir örneği bu sayfanın üst kısmındaki animasyonda gösterilir; parçacık eklendikten sonra tüm kod seçilir ve Shift ⇑+Enter ↵ kullanılarak etkileşimli biçimde çalıştırılır.

Örnek

Bu sayfanın üst kısmındaki animasyonda gösterildiği gibi, aşağıdaki kod örneğini eklemek için ultra.example-yolo-predict parçacığını kullanabilirsin. Eklendikten sonra yapılandırılabilen tek seçenek model ölçeğidir ve bu ölçek şunlardan herhangi biri olabilir: n, s, m, l veya 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 image

Geliştirmeyi Hızlandırma#

ultra.examples dışındaki parçacıkların amacı, Ultralytics ile çalışırken geliştirmeyi daha kolay ve hızlı hale getirmektir. Birçok projede kullanılan yaygın bir kod bloğu, modelin predict yöntemini kullanarak döndürülen Results listesinin üzerinde yineleme yapmaktır. ultra.result-loop parçacığı bu konuda yardımcı olabilir.

Örnek

ultra.result-loop kullanıldığında aşağıdaki varsayılan kod (yorumlar dahil) eklenir.

# 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 görevi desteklediğinden, çıkarım sonuçlarıyla çalışırken erişmek isteyebileceğin başka Results öznitelikleri de vardır; parçacık alanları bu noktada güçlü bir araç olur.


VS Code YOLO results visualization options
Once tabbed to the boxes field, a dropdown menu appears to allow selection of another attribute as required.

Anahtar Kelime Bağımsız Değişkenleri#

Çeşitli Ultralytics görevleri ve modları için 💯'den fazla anahtar kelime bağımsız değişkeni vardır! Hatırlanması gereken çok şey var ve bağımsız değişkenin save_frame mi yoksa save_frames mü olduğunu unutmak kolay olabilir (bu arada kesinlikle save_frames). ultra.kwargs parçacıkları bu konuda yardımcı olabilir!

Örnek

Tüm çıkarım bağımsız değişkenlerini içeren predict yöntemini eklemek için ultra.kwargs-predict kullan; bu, aşağıdaki kodu (yorumlar dahil) ekler.

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) save class activation heatmaps
    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 parçacıkta tüm anahtar kelime bağımsız değişkenleri için alanlar bulunur; ayrıca kodunda farklı bir değişken kullandıysan model ve src için de alanlar vardır. Anahtar kelime bağımsız değişkeni içeren her satırda başvuru amacıyla kısa bir açıklama yer alır.

Tüm Kod Parçacıkları#

Hangi parçacıkların kullanılabildiğini öğrenmenin en iyi yolu, uzantıyı indirip yüklemek ve denemektir! Merak ediyor ve listeye önceden göz atmak istiyorsan, kullanılabilen tüm parçacıkların tablolarını görmek için depoyu veya VS Code marketplace'teki uzantı sayfasını ziyaret edebilirsin.

Sonuç#

VS Code için Ultralytics-Snippets uzantısı, veri bilimcilerin ve makine öğrenimi mühendislerinin Ultralytics YOLO kullanarak bilgisayarlı görü uygulamaları daha verimli biçimde geliştirmesini sağlamak üzere tasarlanmıştır. Önceden hazırlanmış kod parçacıkları ve yararlı örnekler sunarak en önemli şeye, yenilikçi çözümler oluşturmaya odaklanmana yardımcı oluyoruz. VS Code marketplace'teki uzantı sayfasını ziyaret edip değerlendirme bırakarak geri bildirimini paylaş. ⭐

SSS#

  • Yeni parçacıklar, Ultralytics-Snippets deposundaki Issues kullanılarak talep edilebilir.

  • %100 ücretsizdir!

  • VS Code, önizleme penceresinde daha fazla veya daha az bilgi göstermek için Ctrl+Space tuş kombinasyonunu kullanır. Bir kod parçacığı ön ekini yazdığında parçacık önizlemesini görmüyorsan bu tuş kombinasyonunu kullanmak önizlemeyi geri getirmelidir.

  • VS Code kullanıyor ve Ultralytics-snippets uzantısını yüklemeni isteyen bir mesaj görmeye başladıysan ve bu mesajı artık görmek istemiyorsan, mesajı devre dışı bırakmanın iki yolu vardır.

    1. Ultralytics-snippets'i yükle; mesaj artık gösterilmeyecek 😆!

    2. Eklentiyi yüklemek zorunda kalmadan mesajın gösterilmesini devre dışı bırakmak için yolo settings vscode_msg=False kullanabilirsin. Bilmiyorsan, Ultralytics Settings sayfasından daha fazla bilgi edinebilirsin.

  • Ultralytics-snippets deposunu ziyaret edip bir Issue veya Pull Request aç!

  • Diğer tüm VS Code uzantıları gibi, VS Code'daki Extensions menüsüne giderek uzantıyı kaldırabilirsin. Menüde Ultralytics-snippets uzantısını bul, dişli simgesine (⚙) tıkla ve ardından uzantıyı kaldırmak için "Uninstall" seçeneğine tıkla.


    VS Code extension menu

Yorumlar