Ultralytics YOLO27: Bekleme listesine katıl.
YOLO'yu lisansla
Ultralytics Sözlüğüne dön

PyTorch

PyTorch, GPU tensörleri ve otomatik türev hesaplama kullanarak sinir ağları oluşturup eğitmeye yarayan açık kaynaklı bir Python çerçevesidir. Temel kavramları ve dağıtım süreci.

PyTorch, Python'da sinir ağları oluşturmak, eğitmek ve dağıtmak için kullanılan açık kaynaklı bir çerçevedir. GPU hızlandırmalı tensörler, otomatik türev alma, katmanlar, optimize ediciler ve kayıp fonksiyonları kitaplığı sunar; kodu satır satır anında çalıştırdığı için modelleri sıradan Python programları gibi yazıp hata ayıklayabilirsin. Facebook AI Research'te (şimdiki Meta AI) oluşturulan PyTorch, 2022'den beri Linux Foundation bünyesindeki satıcıdan bağımsız PyTorch Foundation tarafından yönetiliyor ve derin öğrenme araştırmalarında ve bilgisayarlı görü ile dil alanlarındaki üretim modellerinde yaygın olarak kullanılıyor.

Temel Kavramlar#

  • Tensörler: CPU veya hızlandırıcı üzerinde bulunabilen, NumPy dizileri gibi çok boyutlu dizilerdir. PyTorch, CUDA aracılığıyla NVIDIA GPU'larını, ROCm aracılığıyla AMD GPU'larını ve Metal (MPS) aracılığıyla Apple silicon'ı destekler; aralarında veri taşımak için tek bir .to(device) çağrısı yeterlidir.
  • Autograd: Tensör işlemleri çalışırken PyTorch bunları bir hesaplama grafiğine kaydeder. .backward() çağrısı bu grafiği geriye doğru izler ve gradyan gerektiren her tensöre göre çıktının gradyanını hesaplar; bu, eğitimin geri yayılım adımıdır.
  • Anında yürütme: Grafik her ileri geçişte yeniden oluşturulur; böylece modeller Python döngülerini, koşullu ifadeleri ve print deyimlerini kullanabilir, hatalar da başarısız olan satırı tam olarak gösterir.
  • Modüller ve optimize ediciler: torch.nn evrişim, dikkat ve normalleştirme gibi katmanlar sunar; torch.optim ise hesaplanan gradyanlardan ağırlıkları güncelleyen SGD ve Adam gibi optimize ediciler sağlar.
  • torch.compile: PyTorch 2.0'da eklenen bu özellik, anında çalışan programı grafik olarak yakalar ve birleştirilmiş çekirdekler oluşturur; çoğu zaman model kodunda değişiklik yapmadan eğitimi ve çıkarımı hızlandırır.

Aşağıdaki örnek, kullanılabilir bir GPU varsa küçük bir hesaplamayı bu GPU'da çalıştırır ve gradyanını autograd ile hesaplar:

import torch

# Use a GPU when PyTorch can see one, otherwise fall back to the CPU
device = "cuda" if torch.cuda.is_available() else "cpu"

# Tensors record the operations applied to them when requires_grad=True
w = torch.tensor([2.0, -1.0], device=device, requires_grad=True)
x = torch.tensor([3.0, 4.0], device=device)

# Ordinary Python runs eagerly: each line executes immediately
loss = (w * x).sum() ** 2

# Autograd walks the recorded graph backward to get d(loss)/dw
loss.backward()
print(f"device={device}, loss={loss.item()}, grad={w.grad.tolist()}")

GPU olmayan bir makinede device=cpu, loss=4.0, grad=[12.0, 16.0] yazdırılır. Kayıp (2·3 − 1·4)² = 4'tür ve autograd, elle kalkülüs yazmaya gerek kalmadan 2·(w·x)·x = [12, 16] türevini döndürür; milyarlarca ağırlığa sahip ağları eğiten mekanizma da aynıdır.

PyTorch ve Diğer Araçlar#

  • TensorFlow: Google'ın çerçevesi, TensorFlow 2 anında yürütmeyi varsayılan yapana kadar statik grafikleri çalıştırmadan önce oluşturuyordu. Keras ve Google'ın dağıtım araçları etrafında kurulan üretim sistemlerinde yaygınlığını koruyor.
  • JAX: Saf Python fonksiyonlarını, XLA aracılığıyla derlenen birleştirilebilir grad, jit ve vmap işlemleriyle dönüştüren Google'ın sayısal hesaplama kitaplığıdır; TPU'larda yürütülen büyük ölçekli araştırmalarda yaygındır.
  • OpenCV: Görüntüleri klasik algoritmalarla okumak, dönüştürmek ve analiz etmek için kullanılan bir bilgisayarlı görü kitaplığıdır. İş akışlarında, kareleri PyTorch modeli işlemeden önce yüklemek ve ön işlemek için sıklıkla OpenCV kullanılır.
  • Hugging Face: Büyük ölçüde PyTorch üzerine kurulu bir merkez ve kitaplıklar kümesidir; Transformers kitaplığı, önceden eğitilmiş dil ve görme modellerini PyTorch modülleri olarak sunar.

Araştırmadan Dağıtıma#

Eğitilmiş bir PyTorch modeli, ağırlıklarını içeren genellikle .pt veya .pth dosyası biçiminde bir kontrol noktası olarak kaydedilir. Model Python hizmetinde olduğu gibi çalıştırılabilir; ancak uç cihazlarda ve optimize edilmiş sunucularda genellikle modelin donanımları için tasarlanmış bir çalışma ortamına dönüştürülmesi gerekir:

Ultralytics YOLO26, PyTorch ile yazılmıştır: yolo26n.pt bir PyTorch kontrol noktasıdır, eğitim PyTorch'un autograd ve optimize edicileriyle yürütülür, model.export() ise modeli dağıtım biçimlerine, bunlar arasında ONNX, TensorRT, OpenVINO, Core ML ve LiteRT biçimlerine dönüştürür.

Çözümleri keşfet

Sporda bilgisayarlı görü

Sporda bilgisayarlı görü

Ultralytics YOLO'nun oyuncu ve top takibi, performans analitiği, antrenörlük içgörüleri ve sporcu rehabilitasyonuyla spor alanında görsel yapay zekâyı nasıl güçlendirdiğini keşfet.
Daha fazla bilgi edin
Hava görüntüleri için bilgisayarlı görü

Hava görüntüleri için bilgisayarlı görü

İHA ve hava görüntülerini Ultralytics YOLO ile tarım, su ürünleri yetiştiriciliği, koruma çalışmaları ve jeo-uzamsal analiz için gerçek zamanlı içgörülere dönüştür.
Daha fazla bilgi edin
Havacılıkta bilgisayarlı görü

Havacılıkta bilgisayarlı görü

Uçak denetimi, pistteki yabancı madde tespiti, havaalanı yer operasyonları ve kompozit malzeme kusurlarının tespiti için Ultralytics YOLO ile havacılık ve uzay sektöründe bilgisayarlı görü uygula.
Daha fazla bilgi edin
Güvenlikte bilgisayarlı görü

Güvenlikte bilgisayarlı görü

Ultralytics YOLO modelleriyle her sahayı koru. Görsel yapay zekâ; çevre izleme, tehdit tespiti, plaka tanıma ve iş yeri güvenliğini destekler.
Daha fazla bilgi edin
Robotikte bilgisayarlı görü

Robotikte bilgisayarlı görü

Ultralytics YOLO modelleriyle daha akıllı makinelere güç ver. Robotikte görsel yapay zekâ; otonom navigasyonu, algılamayı, nesne takibini ve gerçek zamanlı kontrolü destekler.
Daha fazla bilgi edin
Lojistikte bilgisayarlı görü

Lojistikte bilgisayarlı görü

Ultralytics YOLO modelleriyle lojistiği kolaylaştır. Görüntü yapay zekâsı; paket denetimini, ayrıştırmayı, araç takibini ve gerçek zamanlı depo güvenliği izlemeyi mümkün kılar.
Daha fazla bilgi edin
Perakendede bilgisayarlı görü

Perakendede bilgisayarlı görü

Ultralytics YOLO modelleriyle perakendeyi yeniden tasarla. Görüntü yapay zekâsı; envanter takibini, raf izlemeyi, kuyruk yönetimini ve daha kapsamlı müşteri analizlerini mümkün kılar.
Daha fazla bilgi edin
Sağlık hizmetlerinde bilgisayarlı görü

Sağlık hizmetlerinde bilgisayarlı görü

Ultralytics YOLO modelleriyle sağlık çözümleri geliştir. Sağlık hizmetlerinde görüntü yapay zekâsı; daha hızlı tıbbi görüntüleme, daha akıllı tanı ve hasta takibini mümkün kılar.
Daha fazla bilgi edin
Üretimde bilgisayarlı görü

Üretimde bilgisayarlı görü

Ultralytics YOLO modelleriyle üretimi optimize et. Görsel yapay zekâ; kalite kontrolünü, kusur tespitini, kişisel koruyucu donanım uyumunu ve montaj hattı otomasyonunu destekler.
Daha fazla bilgi edin
Otomotivde bilgisayarlı görü

Otomotivde bilgisayarlı görü

Ultralytics YOLO modelleriyle otomotivde bilgisayarlı görüden yararlan. Görsel yapay zekâ; daha akıllı yollar için yol güvenliğini, sürüş desteğini ve araç otomasyonunu ileri taşır.
Daha fazla bilgi edin
Tarımda bilgisayarlı görü

Tarımda bilgisayarlı görü

Ultralytics YOLO modelleriyle akıllı tarıma görüntü yapay zekâsı kazandır. Daha yüksek ve akıllı verim için mahsul izleme, hayvan takibi ve hassas tarımı destekle.
Daha fazla bilgi edin

Geleceğin yapay zekasını birlikte inşa edelim!

Makine öğreniminin geleceğine yolculuğuna başla