0Pricing
Learn AI with Python · Ders

PyTorch Tensörleri ve Autograd

torch.Tensor, requires_grad, backward(), gradyan hesaplama, tensör işlemleri.

PyTorch Tensörleri ve Autograd, CoddyKit'te ücretsiz bir Learn AI with Python dersidir. Bu, 4 dersinin 1. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Learn AI with Python öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Learn AI with Python kursu toplamda 4 dersten oluşur.

PyTorch nedir?

PyTorch, GPU hızlandırmalı ve otomatik türev özelliğine sahip çok boyutlu diziler olan tensörler etrafında oluşturulmuş bir derin öğrenme çatısıdır. Öncelikle öğrenmeniz gereken iki temel yapı tensörler ve otomatik türevdir.

pip install torch

import torch

Tensörler Oluşturma

Bir tensor, NumPy dizisine benzer; ancak GPU üzerinde bulunabilir ve gradyanları izleyebilir. torch.tensor ile bir tane oluşturun. Tensörlerin bir shape ve bir dtype özelliği vardır.

x = torch.tensor([1.0, 2.0, 3.0])
print(x.shape)   # torch.Size([3])
print(x.dtype)   # torch.float32

Tensör İşlemleri

Tensörler eleman bazlı matematiği, matris çarpımını ve yeniden şekillendirmeyi destekler. İşlemler vektörleştirilmiştir ve donanım üzerinde hızlı çalışır. Bu, her sinir ağının hesaplama temelidir.

a = torch.tensor([[1.0, 2.0], [3.0, 4.0]])
b = torch.tensor([[5.0, 6.0], [7.0, 8.0]])
print(a + b)
print(a @ b)  # matrix multiply

requires_grad: Gradyanları İzleme

Gradyanları hesaplamak için requires_grad=True ile bir tensör oluşturun. PyTorch daha sonra bu tensör üzerindeki her işlemi kaydeder ve ileride türevini alabileceği bir hesaplama grafiği oluşturur.

x = torch.tensor([2.0, 3.0], requires_grad=True)
print(x.requires_grad)  # True

Hesaplama Oluşturma

Tek bir skaler çıktı üretmek için gradyanları izleyen bir tensöre işlemler uygulayın. Burada her elemanın karesini alıp toplarız; böylece x'e göre türevini alabileceğimiz tek bir sayı elde ederiz.

x = torch.tensor([2.0, 3.0], requires_grad=True)
y = x.pow(2).sum()   # y = x0^2 + x1^2
print(y)             # tensor(13., grad_fn=...)

backward() Çağırma

Geri yayılım yoluyla gradyanları hesaplamak için bir skaler üzerinde .backward() çağırın. PyTorch, kaydedilen grafiği tersten izleyerek türevleri otomatik olarak hesaplar.

y.backward()

.grad Okuma

backward() çağrısından sonra her giriş tensörü gradyanını .grad içinde tutar. y = sum(x^2) için türev 2x olduğundan gradyan [4, 6] olur.

print(x.grad)  # tensor([4., 6.])

Gradyanlar Birikir

İnce ama önemli bir nokta: Birden fazla backward() çağrısı boyunca gradyanlar toplanır. Bir eğitim döngüsünde bunları her adımda x.grad.zero_() veya iyileştiricinin zero_grad() yöntemiyle sıfırlamanız gerekir.

x.grad.zero_()  # reset before the next backward()

Çıkarım için torch.no_grad()

Çıkarım sırasında gradyanlara ihtiyacınız yoktur ve onları izlemek belleği gereksiz yere tüketir. Grafik oluşturmayı devre dışı bırakmak ve işlemleri hızlandırmak için tahmin kodunu with torch.no_grad(): içine alın.

with torch.no_grad():
    preds = x.pow(2).sum()
    print(preds.requires_grad)  # False

Gradyan Akışını Durdurmak için detach()

.detach(), veriyi paylaşan ancak hesaplama grafiğinden çıkarılmış bir tensör döndürür. Gradyanların bu değer üzerinden geriye doğru akmasına izin vermeden değeri kullanmak için kullanın; örneğin günlük kaydı tutarken veya bir ağın bir bölümünü dondururken.

z = x.detach()
print(z.requires_grad)  # False

Otomatik Türev Neden Önemlidir?

Otomatik türev, derin öğrenmeyi uygulanabilir kılan özelliktir: ileri yönlü hesaplamayı tanımlarsınız, PyTorch da geri yayılım için gradyanları otomatik olarak çıkarır. Yazdığınız her eğitim döngüsü requires_grad, backward ve .grad üzerine kuruludur.

Hızlı Kontrol

Otomatik türev anlayışınızı sınayın.

Özet: Tensörler ve Otomatik Türev

torch.tensor ile tensörler oluşturdunuz ve requires_grad=True aracılığıyla gradyan izlemeyi etkinleştirdiniz. Bir çıktı hesapladınız, .backward() çalıştırdınız ve türevleri .grad üzerinden okudunuz. Gradyanların biriktiğini öğrendiniz, çıkarım için torch.no_grad() kullandınız ve gradyan akışını kesmek için .detach() kullandınız.

Sıkça Sorulan Sorular

“PyTorch Tensörleri ve Autograd” dersi ücretsiz mi?

Evet — “PyTorch Tensörleri ve Autograd” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Learn AI with Python kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Learn AI with Python kursu toplamda 4 dersten oluşur.

“PyTorch Tensörleri ve Autograd” dersinde ne öğreneceğim?

torch.Tensor, requires_grad, backward(), gradyan hesaplama, tensör işlemleri. Learn AI with Python ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.

Learn AI with Python öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te Learn AI with Python, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 1. dersidir.

“PyTorch Tensörleri ve Autograd” dersi ne kadar sürer?

Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.

Bu Learn AI with Python dersinde kod yazıp çalıştırabilir miyim?

Evet. Her Learn AI with Python dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.

Bu kursun tüm dersleri

  1. PyTorch Tensörleri ve Autograd
  2. Özel Veri Kümeleri ve DataLoaders
  3. PyTorch ile CNN Oluşturma ve Eğitme
  4. YOLOv8 ile Nesne Tespiti
← Learn AI with Python Sayfasına Dön