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 bilimci veya makine öğrenimi mühendisi misin?

✅ Sürekli aynı kod bloklarını yazmaktan bıktın mı?

export, predict, train, track veya val metodları için gerekli argümanları veya varsayılan değerleri hep unutuyor musun?

✅ Ultralytics ile çalışmaya başlamak istiyor ve kod örneklerine başvurmak ya da bunları çalıştırmak için daha kolay bir yol mu arıyorsun?

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

Visual Studio Code kullanıyorsan ve yukarıdakilerden herhangi birine 'evet' cevabı verdiysen, VS Code için Ultralytics-snippets uzantısı sana yardımcı olmaya hazır! Uzantı hakkında daha fazla bilgi edinmek, nasıl kurulacağını ve nasıl kullanılacağını öğrenmek 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 ilhamı Ultralytics Topluluğundan geldi. Topluluktan gelen benzer konular ve örneklerle ilgili sorular, bu projenin geliştirilmesine zemin hazırladı. Ayrıca, birçok Ultralytics ekip üyesi kendi işlerini hızlandırmak için VS Code kullanıyor ⚡.

Neden VS Code?

Visual Studio Code, dünya genelinde 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 geliştirme ortamı seçilmiştir. 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ğundaki popülaritesi ve Ultralytics Discord, Discourse, Reddit ve GitHub toplulukları içindeki yeri nedeniyle, iş akışını düzene sokmana ve üretkenliğini artırmana yardımcı olacak bir VS Code uzantısı geliştirmek mantıklıydı.

Kod geliştirirken neler kullandığını bizimle paylaşmak ister misin? Discourse topluluk anketimize git ve bize bildir! Oradayken, en sevdiğimiz bilgisayarlı görü, makine öğrenimi, AI ve geliştirici memelerine göz atabilir veya hatta seninkini paylaşabilirsin!

Uzantının Kurulumu

Not

Any code environment that will allow for installing VS Code extensions should be compatible with the Ultralytics-snippets extension. After publishing the extension, it was discovered that neovim can be made compatible with VS Code extensions. To learn more see the neovim install section of the Readme in the Ultralytics-Snippets repository.

VS Code'da Kurulum

  1. VS Code'daki Uzantılar menüsüne git veya Ctrl+Shift ⇑+x kısayolunu kullan ve Ultralytics-snippets araması yap.

  2. Install (Yükle) düğmesine tıkla.


VS Code extension menu

VS Code Uzantı Marketinden Kurulum

  1. VS Code Uzantı Marketini ziyaret et ve Ultralytics-snippets araması yap veya doğrudan VS Code marketindeki uzantı sayfasına git.

  2. Install (Yükle) 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 çıkan yönergeleri takip et.


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

Ultralytics-Snippets Uzantısının Kullanımı

  • 🧠 Akıllı Kod Tamamlama: Ultralytics API'sine özel gelişmiş kod tamamlama önerileri ile daha hızlı ve doğru kod yaz.

  • Artırılmış Geliştirme Hızı: Tekrarlayan kodlama görevlerini ortadan kaldırarak ve önceden oluşturulmuş kod parçacıklarından yararlanarak zamandan tasarruf et.

  • 🔬 İyileştirilmiş Kod Kalitesi: Akıllı kod tamamlama ile daha temiz, daha tutarlı ve hatasız kod yaz.

  • 💎 Düzenli İş Akışı: Yaygın görevleri otomatikleştirerek projenin temel mantığına odaklanmaya devam et.

Genel Bakış

Uzantı, yalnızca Dil Modu Python 🐍 için yapılandırıldığında çalışır. Bu, başka dosya türlerinde çalışırken parçacıkların eklenmesini önlemek içindir. Tüm parçacıkların öneki ultra ile başlar; uzantıyı kurduktan sonra editöründe sadece ultra yazman, kullanabileceğin olası parçacıkların listesini görüntüler. Ayrıca Ctrl+Shift ⇑+p kısayolu ile VS Code Komut Paleti'ni açıp Snippets: Insert Snippet komutunu çalıştırabilirsin.

Kod Parçacığı Alanları

Birçok parçacığın varsayılan yer tutucu değerleri veya isimleri olan "alanları" vardır. Örneğin, predict metodundan gelen çıktı, r, results, detections, preds gibi veya bir geliştiricinin seçtiği herhangi bir Python değişkenine kaydedilebilir; bu yüzden parçacıklar "alanlar" içerir. Bir parçacık eklendikten sonra klavyendeki Tab ⇥ tuşunu kullanarak imlecinin alanlar arasında hızla hareket etmesini sağlayabilirsin. Bir alan seçildiğinde, yeni bir değişken adı yazmak hem o örneği hem de parçacık kodundaki o değişken için diğer tüm örnekleri değiştirecektir!


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ığı Tamamlamaları

Daha da _Kısa_ Kısayollar

Parçacığın tam önekini yazman veya parçacığa başından başlaman gerekmez. Aşağıdaki resimdeki örneğe bak.

Parçacıklar 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 hedef daha hızlı hareket etmekse bu verimsiz olabilir. Neyse ki VS Code, kullanıcıların ultra.example-yolo-predict, example-yolo-predict, yolo-predict ve hatta ex-yolo-p yazıp yine de hedeflenen parçacık seçeneğine ulaşmasına izin verir! Hedeflenen parçacık aslında ultra.example-yolo-predict-kwords ise, sadece klavye oklarını veya kullanarak istediğin parçacığı vurgulayabilir ve Enter ↵ veya Tab ⇥ tuşuna basarak doğru kod bloğunu ekleyebilirsin.


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ı için mevcut olan güncel parçacık kategorileridir. Gelecekte daha fazlası eklenecektir, bu yüzden güncellemeleri kontrol ettiğinden ve uzantı için otomatik güncellemeleri etkinleştirdiğinden emin ol. Ayrıca eksik olduğunu düşündüğün başka parçacıklar varsa eklenmesini talep edebilirsin.

KategoriBaşlangıç ÖnekiAçıklama
Örneklerultra.examplesÖğrenmeye yardımcı olması veya Ultralytics ile çalışmaya başlamak için örnek kodlar. Örnekler, dokümantasyon sayfalarındaki kodların kopyalarıdır veya onlara benzerdir.
Kwargsultra.kwargsTüm anahtar kelime argümanları ve varsayılan değerleri ile train, track, predict ve val metodları için parçacıklar ekleyerek geliştirmeyi hızlandır.
Importsultra.importsYaygın Ultralytics nesnelerini hızlıca içe aktarmak için parçacıklar.
Modelsultra.yoloAçılır yapılandırma seçenekleri dahil olmak üzere çeşitli modelleri (yolo, sam, rtdetr vb.) başlatmak için kod blokları ekle.
Resultsultra.resultÇıkarım sonuçlarıyla çalışırken yapılan yaygın işlemler için kod blokları.
Yardımcı Araçlarultra.utilUltralytics paketinin içinde yerleşik olarak bulunan yaygın araçlara hızlı erişim sağlar; bunlar hakkında daha fazla bilgiyi Basit Araçlar sayfasında bulabilirsin.

Örneklerle Öğrenme

ultra.examples parçacıkları, Ultralytics YOLO ile çalışmanın temellerine nasıl başlayacağını öğrenmek isteyen herkes için çok faydalıdır. Örnek parçacıklar, eklendikten sonra çalışacak şekilde tasarlanmıştır (bazılarının açılır seçenekleri de vardır). Bunun bir örneği, bu sayfanın üst kısmındaki animasyonda gösterilmektedir; burada parçacık eklendikten sonra tüm kod seçilir ve Shift ⇑+Enter ↵ kullanılarak etkileşimli olarak çalıştırılır.

Örnek

Tıpkı 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ılabilir tek seçenek, n, s, m, l veya x değerlerinden biri olabilen model ölçeğidir.

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

The aim for snippets other than the ultra.examples are for making development easier and quicker when working with Ultralytics. A common code block to be used in many projects, is to iterate the list of Results returned from using the model predict method. The ultra.result-loop snippet can help with this.

Örnek

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


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 Argümanları

Çeşitli Ultralytics görevleri ve modları için 💯'den fazla anahtar kelime argümanı var! Hatırlanması gereken çok şey var ve argümanın save_frame mi yoksa save_frames mi olduğunu unutmak kolay olabilir (bu arada, kesinlikle save_frames). İşte ultra.kwargs parçacıkları tam burada devreye girer!

Örnek

To insert the predict method, including all inference arguments, use ultra.kwargs-predict, which will insert the following code (including comments).

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 parçacığın tüm anahtar kelime argümanları için alanları vardır; ayrıca kodunda farklı bir değişken kullandıysan diye model ve src için de alanları bulunur. Anahtar kelime argümanı içeren her satırda, referans olması için kısa bir açıklama yer alır.

Tüm Kod Parçacıkları

Hangi parçacıkların mevcut olduğunu bulmanın en iyi yolu, uzantıyı indirip kurmak ve denemektir! Merak ediyorsan ve önceden listeye göz atmak istiyorsan, depoyu veya VS Code marketindeki uzantı sayfasını ziyaret ederek mevcut tüm parçacıkların tablolarını görüntüleyebilirsin.

Sonuç

VS Code için Ultralytics-Snippets uzantısı, veri bilimcilerin ve makine öğrenimi mühendislerinin Ultralytics YOLO kullanarak bilgisayarlı görü 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 sunarak, en önemli şeye odaklanmana yardımcı oluyoruz: yenilikçi çözümler üretmek. Lütfen VS Code marketindeki uzantı sayfasını ziyaret edip bir değerlendirme bırakarak geri bildirimini bizimle paylaş. ⭐

SSS

Yeni bir parçacığı nasıl talep edebilirim?

Yeni parçacıklar, Ultralytics-Snippets reposundaki Issues (Sorunlar) sekmesi kullanılarak talep edilebilir.

Ultralytics-Extension'ın maliyeti nedir?

%100 ücretsizdir!

Neden kod parçacığı önizlemesini göremiyorum?

VS Code, önizleme penceresinde daha fazla/az bilgi göstermek için Ctrl+Space tuş kombinasyonunu kullanır. Bir kod parçacığı öneki yazdığında bir önizleme göremiyorsan, bu tuş kombinasyonunu kullanmak önizlemeyi geri getirecektir.

Ultralytics'teki uzantı önerisini nasıl devre dışı bırakırım?

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

  1. Ultralytics-snippets'ı yükle, mesaj artık gösterilmeyecektir 😆!

  2. You can be using yolo settings vscode_msg False to disable the message from showing without having to install the extension. You can learn more about the Ultralytics Settings on the quickstart page if you're unfamiliar.

Yeni bir Ultralytics kod parçacığı için bir fikrim var, nasıl ekletebilirim?

Ultralytics-snippets reposunu ziyaret et ve bir Issue veya Pull Request aç!

Ultralytics-Snippets Uzantısını nasıl kaldırırım?

Diğer tüm VS Code uzantıları gibi, VS Code'daki Uzantılar menüsüne giderek kaldırabilirsin. Menüden 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