PyTorch
Ultralytics YOLO26'yı destekleyen temel kütüphane olan PyTorch'u keşfet. Dinamik grafiklerini, GPU hızlandırmasını ve nasıl verimli derin öğrenme modelleri oluşturacağını öğren.
PyTorch, derin öğrenme alanındaki araştırmacılar ve geliştiriciler için temel taş haline gelmiş, öncelikle Meta AI tarafından geliştirilen açık kaynaklı bir makine öğrenimi kütüphanesidir. Esnekliği ve kullanım kolaylığı ile bilinen bu kütüphane, dinamik bir hesaplama grafiği kullanarak karmaşık sinir ağları oluşturmanıza ve eğitmenize olanak tanır. Genellikle "hemen yürütme" (eager execution) olarak adlandırılan bu özellik, kodun anında değerlendirilmesini sağlayarak statik grafik tanımlarına güvenen çatı yazılımlara kıyasla hata ayıklamayı ve prototip oluşturmayı önemli ölçüde daha sezgisel hale getirir. Python programlama dili ile sorunsuz bir şekilde bütünleşir ve standart bilimsel hesaplama araçlarının doğal bir uzantısı gibi hissedilir.
Temel Mekanikler ve Önem#
Bu çatı yazılımının kalbinde, NumPy belgelerinde bulunanlara benzer çok boyutlu diziler olan tensörler yer alır. Ancak standart dizilerin aksine PyTorch tensörleri, NVIDIA CUDA tarafından sağlanan GPU hızlandırmasından yararlanmak üzere tasarlanmıştır. Bu donanım hızlandırması, modern yapay zeka (AI) modellerini verimli bir şekilde eğitmek için gereken devasa paralel işleme açısından çok önemlidir.
Bilgisayarlı görü (CV) ve doğal dil işleme için geniş bir araç ekosistemini destekler. Zengin bir önceden oluşturulmuş katmanlar, optimizasyon araçları ve kayıp fonksiyonları seti sunarak görüntü sınıflandırma ve dizi modelleme gibi görevler için algoritmalar oluşturma sürecini basitleştirir.
Gerçek Dünya Uygulamaları#
Bu çerçevenin çok yönlülüğü, yüksek etkili AI çözümleri için çeşitli endüstrilerde benimsenmesini sağlamıştır:
-
Otonom Araçlar: Sektör liderleri, araç kameralarından gelen video akışlarını işleyen derin öğrenme modelleri oluşturmak için PyTorch kullanır. Bu modeller, şeritleri, tabelaları ve yayaları tanımlamak için gerçek zamanlı nesne tespiti gerçekleştirerek daha güvenli bir sürüş sağlar.
-
Tıbbi Teşhis: Araştırmacılar gelişmiş sağlık hizmetleri uygulamaları geliştirmek için bu çatı yazılımı kullanır. Örneğin; doktorların hassas görüntü segmentasyonu yoluyla tümörleri tespit etmesine yardımcı olmak için MRI taramalarını veya röntgenleri analiz eden sistemlere güç verir.
İlgili Araçlarla Karşılaştırma#
Rolünü daha iyi anlamak için PyTorch'u AI yığınındaki diğer yaygın araçlardan ayırmak faydalıdır:
- TensorFlow Karşılaştırması: Google tarafından geliştirilen TensorFlow, tarihsel olarak hata ayıklamayı zorlaştıran ancak dağıtımı optimize eden statik hesaplama grafiklerine dayanıyordu. Her iki çatı yazılım özellikleri açısından yakınlaşmış olsa da, PyTorch sezgisel arayüzü sayesinde hızlı prototip oluşturma ve araştırma için genellikle tercih edilir.
- OpenCV Karşılaştırması: OpenCV, sinir ağlarını eğitmekten ziyade geleneksel görüntü işleme fonksiyonlarına (yeniden boyutlandırma, filtreleme ve renk dönüştürme gibi) odaklanan bir kütüphanedir. Tipik bir iş akışında geliştiriciler, görüntüleri analiz için bir PyTorch modeline beslemeden önce veri ön işleme için OpenCV kullanır.
Ultralytics ile Entegrasyon#
Çığır açan YOLO26 ve yaygın olarak kullanılan YOLO11 dahil olmak üzere tüm Ultralytics model ailesi, yerel olarak PyTorch üzerinde oluşturulmuştur. Bu temel, kullanıcıların çatı yazılımının hızından, kararlılığından ve kapsamlı topluluk desteğinden yararlanmasını sağlar. Özel eğitim verileri üzerinde transfer öğrenimi gerçekleştirirken veya modelleri uç cihazlar için dışarı aktarırken alttaki mimari PyTorch tensörlerine ve gradyanlarına güvenir.
Gelecek olan Ultralytics Platform, veri kümesi tedariki, eğitim ve dağıtımı yönetmek için kapsamlı bir kod yazmaya gerek kalmadan birleşik bir arayüz sağlayarak bu deneyimi daha da basitleştiriyor.
Aşağıdaki örnek, GPU kullanılabilirliğini nasıl doğrulayacağını ve bir YOLO modeli kullanarak çıkarım yapacağını göstererek, çerçevenin donanım hızlandırmayı arka planda nasıl yönettiğini sergiliyor:
import torch
from ultralytics import YOLO
# Check if CUDA (GPU) is available for PyTorch acceleration
device = "cuda" if torch.cuda.is_available() else "cpu"
print(f"PyTorch is using device: {device}")
# Load a YOLO26n model (built on PyTorch)
model = YOLO("yolo26n.pt")
# Perform object detection on an image
# PyTorch handles tensor operations and moves data to the GPU automatically
results = model("https://ultralytics.com/images/bus.jpg", device=device)





