Yeniden Şekillendirme, Görünüm, Sıkıştırma ve Genişletme
Verileri kopyalamadan boyutları değiştirin.
Yeniden Şekillendirme, Görünüm, Sıkıştırma ve Genişletme, CoddyKit'te ücretsiz bir Deep Learning Academy dersidir. Bu, 4 dersinin 2. 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, Deep Learning Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Deep Learning Academy kursu toplamda 4 dersten oluşur.
Aynı Veri, Farklı Şekil
Çoğu zaman sayılar doğrudur, ancak yerleşim yanlıştır. Yeniden şekillendirme, içindeki değerleri değiştirmeden tensor'ın boyutlarını yeniden düzenler.
reshape Yeni Bir Yerleşim Seçer
İstediğiniz boyutlarla reshape çağrısı yapın. Öğelerin toplam sayısı aynı kalmalıdır.
x = torch.arange(6)
y = x.reshape(2, 3)
print(y.shape) # torch.Size([2, 3])Bir Boyutu -1'e Hesaplattırma
Bir boyut için -1 geçirin; PyTorch toplam sayıdan hareketle bu boyutu sizin için hesaplar. Geri kalan boyutları bildiğinizde kullanışlıdır.
x = torch.arange(6)
y = x.reshape(-1, 2)
print(y.shape) # torch.Size([3, 2])view Aynı Belleği Paylaşır
view, kopyalama yapmadan yeniden şekillendirir; bu nedenle hızlıdır. Verilerin bellekte bitişik yerleştirilmiş olmasını gerektirir.
x = torch.arange(6)
y = x.view(3, 2)
print(y.shape) # torch.Size([3, 2])reshape Daha Güvenli Varsayılandır
Kararsız kaldığınızda reshape kullanın. Bitişik olmayan tensor'larda bile çalışır; yalnızca gerektiğinde kopyalama yapar.
squeeze Boyutu 1 Olan Boyutları Kaldırır
squeeze, uzunluğu 1 olan tüm boyutları çıkarır. (1, 5) gibi şekilleri basit bir (5) şekline dönüştürür.
x = torch.zeros(1, 5)
y = x.squeeze()
print(y.shape) # torch.Size([5])Belirli Bir Boyutu squeeze ile Kaldırma
Yalnızca o boyutu kaldırmak için squeeze işlevine bir indeks verin. Diğer boyutu 1 olan boyutların kalması gerektiğinde bu yöntem daha güvenlidir.
x = torch.zeros(1, 5, 1)
y = x.squeeze(0)
print(y.shape) # torch.Size([5, 1])unsqueeze Bir Boyut Ekler
unsqueeze, seçtiğiniz konuma yeni bir boyutu 1 olan boyut ekler. Bu, squeeze işleminin tam tersidir.
x = torch.tensor([1, 2, 3])
y = x.unsqueeze(0)
print(y.shape) # torch.Size([1, 3])Toplu İş Boyutu Neden Eklenir
Modeller başta bir toplu iş boyutu bekler. unsqueeze(0), tek bir örneği tek örnekli bir toplu işe dönüştürür; böylece model bu örneği kabul eder.
sample = torch.randn(3)
batch = sample.unsqueeze(0)
print(batch.shape) # torch.Size([1, 3])Tek Bir Satıra Düzleştirme
flatten, tüm boyutları tek ve uzun bir vektörde birleştirir. Son doğrusal katmandan hemen önce sıkça kullanılır.
x = torch.zeros(2, 3)
y = x.flatten()
print(y.shape) # torch.Size([6])Öğe Sayısı Hiç Değişmez
Her yeniden şekillendirme yöntemi, değerlerin toplam sayısını korur. Sayılar eşleşmezse PyTorch bir shape hatası verir.
Hızlı Denetim
Şekil değişikliklerini tahmin edip edemediğinizi görelim.
Özet: Reshape, View, Squeeze ve Unsqueeze
Artık tensor'ları istediğiniz yerleşime dönüştürebilirsiniz: esneklik için reshape, hız için view, boyutları kaldırmak ve eklemek için squeeze ya da unsqueeze. 🔧
Yapay zeka eğitmeniyle Python öğren — ücretsiz
Tarayıcında gerçek kod yaz ve çalıştır, 7/24 yapay zeka eğitmeninden anında yardım al; web'de ya da uygulamada kaldığın yerden devam et.
- Kurslar
- 30
- Dersler
- 120
Sıkça Sorulan Sorular
“Yeniden Şekillendirme, Görünüm, Sıkıştırma ve Genişletme” dersi ücretsiz mi?
Evet — “Yeniden Şekillendirme, Görünüm, Sıkıştırma ve Genişletme” 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 Deep Learning Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Deep Learning Academy kursu toplamda 4 dersten oluşur.
“Yeniden Şekillendirme, Görünüm, Sıkıştırma ve Genişletme” dersinde ne öğreneceğim?
Verileri kopyalamadan boyutları değiştirin. Deep Learning Academy 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.
Deep Learning Academy öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te Deep Learning Academy, 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 2. dersidir.
“Yeniden Şekillendirme, Görünüm, Sıkıştırma ve Genişletme” 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 Deep Learning Academy dersinde kod yazıp çalıştırabilir miyim?
Evet. Her Deep Learning Academy 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
- Şekiller, Veri Türleri ve İndeksleme
- Yeniden Şekillendirme, Görünüm, Sıkıştırma ve Genişletme
- Döngülerden Kurtaran Yayınlama Kuralları
- Tensörler NumPy ile Konuşur