logo

PyTorch'ta torch.nn

PyTorch, sinir ağının oluşturulmasında ve eğitilmesinde bize yardımcı olacak torch.nn modülünü sağlar. Bu modellerden herhangi bir özellik kullanmadan öncelikle temel sinir ağını MNIST veri seti üzerinde eğiteceğiz. Yalnızca temel PyTorch tensör işlevini kullanacağız ve ardından torch.nn'den her seferinde aşamalı olarak bir özellik ekleyeceğiz.

torch.nn, sinir ağını uygulamak ve eğitmek için bize daha birçok sınıf ve modül sağlıyor.

Nn paketi aşağıdaki modülleri ve sınıfları içerir:

Evet Hayır Sınıf ve Modül Tanım
1. torch.nn.Parametre Modül parametresi olarak dikkate alınması gereken bir tensör türüdür.
2. Konteynerler
1) torch.nn.Module Tüm sinir ağı modülleri için temel sınıftır.
2) meşale.nn.Sıralı Modüllerin yapıcıda iletildikleri sırayla ekleneceği sıralı bir kaptır.
3) torch.nn.ModuleList Bu, alt modülleri bir listede tutacaktır.
4) torch.nn.ModuleDict Bu, alt modülleri bir dizinde tutacaktır.
5) torch.nn.ParameterList Bu, parametreleri bir listede tutacaktır.
6) torch.nn.parameterDict Bu, parametreleri bir dizinde tutacaktır.
3. Evrişim katmanları
1) torch.nn.Conv1d Bu paket, birkaç giriş düzleminden oluşan bir giriş sinyali üzerine 1 boyutlu bir evrişim uygulamak için kullanılacaktır.
2) meşale.nn.Conv2d Bu paket, birkaç giriş düzleminden oluşan bir giriş sinyali üzerine 2 boyutlu bir evrişim uygulamak için kullanılacaktır.
3) meşale.nn.Conv3d Bu paket, birkaç giriş düzleminden oluşan bir giriş sinyali üzerine 3 boyutlu bir evrişim uygulamak için kullanılacaktır.
4) torch.nn.ConvTranspose1d Bu paket, birkaç giriş düzleminden oluşan bir giriş görüntüsü üzerine 1 boyutlu transpoze evrişim operatörünü uygulamak için kullanılacaktır.
5) torch.nn.ConvTranspose2d Bu paket, birkaç giriş düzleminden oluşan bir giriş görüntüsü üzerine 2 boyutlu transpoze evrişim operatörünü uygulamak için kullanılacaktır.
6) torch.nn.ConvTranspose3d Bu paket, birkaç giriş düzleminden oluşan bir giriş görüntüsü üzerine 3 boyutlu transpoze evrişim operatörünü uygulamak için kullanılacaktır.
7) meşale.nn.Açılma Toplu giriş tensöründen kayan yerel blokları çıkarmak için kullanılır.
8) meşale.nn.Katlama Bir dizi kayan yerel bloğu büyük bir tensörde birleştirmek için kullanılır.
4. Katmanları havuzlama
1) meşale.nn.MaxPool1d Birkaç giriş düzleminden oluşan bir giriş sinyali üzerinde 1D max havuzlama uygulamak için kullanılır.
2) meşale.nn.MaxPool2d Birkaç giriş düzleminden oluşan bir giriş sinyali üzerine 2D maksimum havuzlama uygulamak için kullanılır.
3) meşale.nn.MaxPool3d Birkaç giriş düzleminden oluşan bir giriş sinyali üzerine 3D max havuzlaması uygulamak için kullanılır.
4) torch.nn.MaxUnpool1d MaxPool1d'nin kısmi tersini hesaplamak için kullanılır.
5) torch.nn.MaxUnpool2d MaxPool2d'nin kısmi tersini hesaplamak için kullanılır.
6) meşale.nn.MaxUnpool3d MaxPool3d'nin kısmi tersini hesaplamak için kullanılır.
7) meşale.nn.AvgPool1d Birkaç giriş düzleminden oluşan bir giriş sinyali üzerinde 1 boyutlu ortalama havuzlamayı uygulamak için kullanılır.
8) meşale.nn.AvgPool2d Birkaç giriş düzleminden oluşan bir giriş sinyali üzerinde 2 boyutlu ortalama havuzlamayı uygulamak için kullanılır.
9) meşale.nn.AvgPool3d Birkaç giriş düzleminden oluşan bir giriş sinyali üzerinde 3 boyutlu ortalama havuzlamayı uygulamak için kullanılır.
10) torch.nn.FractionalMaxPool2d Birkaç giriş düzleminden oluşan bir giriş sinyali üzerine 2 boyutlu kesirli maksimum havuzlama uygulamak için kullanılır.
11) meşale.nn.LPPool1d Birkaç giriş düzleminden oluşan bir giriş sinyali üzerinde 1 boyutlu güç ortalama havuzlaması uygulamak için kullanılır.
12) meşale.nn.LPPool2d Birkaç giriş düzleminden oluşan bir giriş sinyali üzerinde 2 boyutlu güç ortalama havuzunu uygulamak için kullanılır.
13) torch.nn.AdavtiveMaxPool1d Birkaç giriş düzleminden oluşan bir giriş sinyali üzerinde 1 boyutlu uyarlanabilir maksimum havuzlamayı uygulamak için kullanılır.
14) torch.nn.AdavtiveMaxPool2d Birkaç giriş düzleminden oluşan bir giriş sinyali üzerinde 2 boyutlu uyarlanabilir maksimum havuzlamayı uygulamak için kullanılır.
15) meşale.nn.AdavtiveMaxPool3d Birkaç giriş düzleminden oluşan bir giriş sinyali üzerinde 3 boyutlu uyarlanabilir maksimum havuzlamayı uygulamak için kullanılır.
16) torch.nn.AdavtiveAvgPool1d Birkaç giriş düzleminden oluşan bir giriş sinyali üzerinde 1 boyutlu uyarlanabilir ortalama havuzlamayı uygulamak için kullanılır.
17) torch.nn.AdavtiveAvgPool2d Birkaç giriş düzleminden oluşan bir giriş sinyali üzerinde 2 boyutlu uyarlanabilir ortalama havuzlamayı uygulamak için kullanılır.
18) torch.nn.AdavtiveAvgPool3d Birkaç giriş düzleminden oluşan bir giriş sinyali üzerinde 3 boyutlu uyarlanabilir ortalama havuzlamayı uygulamak için kullanılır.
5. Dolgu katmanları
1) torch.nn.ReflectionPad1d Giriş sınırının yansımasını kullanarak giriş tensörünü dolduracaktır.
2) torch.nn.ReflactionPad2d Giriş sınırının yansımasını kullanarak giriş tensörünü dolduracaktır.
3) torch.nn.ReplicationPad1 Giriş sınırının çoğaltılmasını kullanarak giriş tensörünü dolduracaktır.
4) torch.nn.ReplicationPad2d Giriş sınırının çoğaltılmasını kullanarak giriş tensörünü dolduracaktır.
5) torch.nn.ReplicationPad3d Giriş sınırının çoğaltılmasını kullanarak giriş tensörünü dolduracaktır.
6) meşale.nn.ZeroPad2d Giriş tensör sınırlarını sıfırla dolduracaktır.
7) torch.nn.ConstantPad1d Giriş tensör sınırlarını sabit bir değerle dolduracaktır.
8) torch.nn.ConstantPad2d Giriş tensör sınırlarını sabit bir değerle dolduracaktır.
9) torch.nn.ConstantPad3d Giriş tensör sınırlarını sabit bir değerle dolduracaktır.
6. Doğrusal olmayan aktivasyonlar (ağırlıklı toplam, doğrusal olmama)
1) meşale.nn.ELU Öğe bazında işlevi uygulamak için kullanacaktır:
ELU(x)=max(0,x)+min(0,α*(exp(x)-1))
2) meşale.nn.Hardshrink Sert büzülme fonksiyonunu eleman bazında uygulamak için kullanacaktır:
PyTorch'ta torch.nn
3) meşale.nn.LeakyReLU Öğe bazında işlevi uygulamak için kullanacaktır:
LeakyReLu(x)=maks(0,x) +negatif_eğim*min(0,x)
4) torch.nn.LogSigmoid Öğe bazında işlevi uygulamak için kullanacaktır:
PyTorch'ta torch.nn
5) torch.nn.MultiheadAttention Modelin farklı temsil alt uzaylarından gelen bilgilere katılmasına izin vermek için kullanılır
6) meşale.nn.PReLU Element-wise fonksiyonunu uygulamak için kullanılacaktır:
PRELU(x)=maks(0,x)+a*min(0,x)
7) meşale.nn.ReLU Düzeltilmiş doğrusal birim fonksiyonunu eleman bazında uygulamak için kullanacaktır:
ReLU(x)=maks(0,x)
8) meşale.nn.ReLU6 Element-wise fonksiyonunu uygulamak için kullanılacaktır:
ReLU6(x)=min(maks(0,x),6)
9) meşale.nn.RReLU Makalede açıklandığı gibi, rastgele sızdıran düzeltilmiş doğrusal birim fonksiyonunu eleman bazında uygulamak için kullanılacaktır:
PyTorch'ta torch.nn
10) meşale.nn.SELU Öğe bazında işlevi şu şekilde uygulamak için kullanacaktır:
SELU(x)=ölçek*(maks(0,x)+ min(0,a*(ifade(x)-1)))

Burada α= 1,6732632423543772848170429916717 ve ölçek = 1,0507009873554804934193349852946.
11) meşale.nn.TARGET Öğe bazında işlevi şu şekilde uygulamak için kullanacaktır:
PyTorch'ta torch.nn
12) meşale.nn.Sigmoid Öğe bazında işlevi şu şekilde uygulamak için kullanacaktır:
PyTorch'ta torch.nn
13) torch.nn.Softplus Öğe bazında işlevi şu şekilde uygulamak için kullanacaktır:
PyTorch'ta torch.nn
14) meşale.nn.Yumuşak küçültme Yumuşak büzülme fonksiyonunu element bazında uygulamak için kullanacaktır:
PyTorch'ta torch.nn
15) torch.nn.Softsign Öğe bazında işlevi şu şekilde uygulamak için kullanacaktır:
PyTorch'ta torch.nn
16) meşale.nn.Tanh Öğe bazında işlevi şu şekilde uygulamak için kullanacaktır:
PyTorch'ta torch.nn
17) meşale.nn.Tanhshrink Öğe bazında işlevi şu şekilde uygulamak için kullanacaktır:
Tanhshrink(x)=x-Tanh(x)
18) meşale.nn.Eşik Giriş Tensörünün her bir elemanını eşiklemek için kullanacaktır. Eşik şu şekilde tanımlanır:
PyTorch'ta torch.nn
7. Doğrusal olmayan aktivasyonlar (diğer)
1) torch.nn.Softmin Softmin fonksiyonunu n boyutlu bir giriş Tensörüne yeniden ölçeklendirmek için uygulamak için kullanılır. Bundan sonra, n boyutlu çıkış Tensörünün elemanları 0, 1 aralığında yer alır ve toplamı 1'e eşit olur. Softmin şu şekilde tanımlanır:
PyTorch'ta torch.nn
2) torch.nn.Softmax Softmax fonksiyonunu n boyutlu bir giriş Tensörüne yeniden ölçeklendirmek için uygulamak için kullanılır. Bundan sonra, n boyutlu çıkış Tensörünün elemanları 0, 1 aralığında yer alır ve toplamı 1'e ulaşır. Softmax şu şekilde tanımlanır:
PyTorch'ta torch.nn
3) torch.nn.Softmax2d SoftMax'in özelliklerini her mekansal konuma uygulamak için kullanılır.
4) torch.nn.LogSoftmax LogSoftmax fonksiyonunu n boyutlu bir giriş Tensörüne uygulamak için kullanılır. LofSoftmax işlevi şu şekilde tanımlanabilir:
PyTorch'ta torch.nn
5) torch.nn.AdaptiveLogSoftmaxWithLoss Geniş çıktı alanlarına sahip modellerin eğitimi için bir stratejidir. Etiket dağıtımının son derece dengesiz olduğu durumlarda çok etkilidir
8. Normalleştirme katmanları
1) torch.nn.BatchNorm1d Toplu normalleştirmeyi 2B veya 3B girişler üzerinden uygulamak için kullanılır.
PyTorch'ta torch.nn
2) torch.nn.BatchNorm2d Toplu normalleştirmeyi 4D üzerinden uygulamak için kullanılır.
PyTorch'ta torch.nn
3) torch.nn.BatchNorm3d 5D girişler üzerinden toplu normalleştirme uygulamak için kullanılır.
PyTorch'ta torch.nn
4) torch.nn.GrupNorm Grup normalizasyonunu mini bir girdi kümesine uygulamak için kullanılır.
PyTorch'ta torch.nn
5) torch.nn.SyncBatchNorm N boyutlu girdilere toplu normalizasyon uygulamak için kullanılır.
PyTorch'ta torch.nn
6) torch.nn.InstanceNorm1d Bir 3D giriş üzerinden örnek normalleştirme uygulamak için kullanılır.
PyTorch'ta torch.nn
7) torch.nn.InstanceNorm2d Bir 4D giriş üzerinden örnek normalleştirme uygulamak için kullanılır.
PyTorch'ta torch.nn
8) torch.nn.InstanceNorm3d Bir 5D girişi üzerinden örnek normalleştirme uygulamak için kullanılır.
PyTorch'ta torch.nn
9) torch.nn.LayerNorm Mini bir girdi kümesi üzerine katman normalizasyonunu uygulamak için kullanılır.
PyTorch'ta torch.nn
10) torch.nn.LocalResponseNorm Kanalın ikinci boyutu kapladığı, birkaç giriş düzleminden oluşan bir giriş sinyali üzerine yerel yanıt normalizasyonunu uygulamak için kullanılır.
9. Tekrarlanan katmanlar
1) meşale.nn.RNN Tanh veya ReLU doğrusal olmayan çok katmanlı bir Elman RNN'yi bir giriş dizisine uygulamak için kullanılır. Her katman, giriş dizisindeki her öğe için aşağıdaki işlevi hesaplar:
HT=tanh(WonlaraXT+bonlara+KTt-1+b)
2) meşale.nn.LSTM Bir giriş dizisine çok katmanlı uzun kısa süreli bellek (LSTM) RNN'sini uygulamak için kullanılır. Her katman, giriş dizisindeki her öğe için aşağıdaki işlevi hesaplar:
PyTorch'ta torch.nn
3) meşale.nn.GRU Bir giriş dizisine çok katmanlı geçitli tekrarlayan birim (GRU) RNN'yi uygulamak için kullanılır. Her katman, giriş dizisindeki her öğe için aşağıdaki işlevi hesaplar:
PyTorch'ta torch.nn
4) meşale.nn.RNNCell Tanh veya ReLU doğrusal olmayan bir Elman RNN hücresini bir giriş dizisine uygulamak için kullanılır. Her katman, giriş dizisindeki her öğe için aşağıdaki işlevi hesaplar:
h'=tanh(Wonlarax+bonlara+Kh+b)
Tanh yerine ReLU kullanılır
5) meşale.nn.LSTMCell Bir giriş dizisine uzun kısa süreli bellek (LSTM) hücresini uygulamak için kullanılır. Her katman, giriş dizisindeki her öğe için aşağıdaki işlevi hesaplar:
PyTorch'ta torch.nn
Burada σ sigmoid fonksiyonudur ve * Hadamard çarpımıdır.
6) meşale.nn.GRUCell Bir giriş dizisine geçitli tekrarlayan birim (GRU) hücresi uygulamak için kullanılır. Her katman, giriş dizisindeki her öğe için aşağıdaki işlevi hesaplar:
PyTorch'ta torch.nn
10. Doğrusal katmanlar
1) meşale.nn.Kimlik Bağımsız değişkene duyarlı olmayan bir yer tutucu kimlik operatörüdür.
2) meşale.nn.Doğrusal Gelen verilere doğrusal bir dönüşüm uygulamak için kullanılır:
y=xAT+b
3) meşale.nn.Çift doğrusal Gelen verilere çift doğrusal bir dönüşüm uygulamak için kullanılır:
y=x1Balta2+b
on bir. Bırakma katmanları
1) meşale.nn.Bırakma Nöronların düzenlenmesi ve ortak adaptasyonunun önlenmesi için kullanılır. Bir faktör PyTorch'ta torch.nneğitim sırasında çıktıyı ölçeklendirir. Bu, modülün değerlendirme sırasında bir kimlik işlevi hesapladığı anlamına gelir.
2) meşale.nn.Bırakma2d Özellik haritalarındaki bitişik pikseller ilişkilendirilirse torch.nn.Dropout, aktivasyonları düzenli hale getirmeyecek ve etkili öğrenme oranını azaltacaktır. Bu durumda, özellik haritaları arasındaki bağımsızlığı desteklemek için torch.nn.Dropout2d() kullanılır.
3) meşale.nn.Bırakma3d Özellik haritalarındaki bitişik pikseller ilişkilendirilirse torch.nn.Dropout, aktivasyonları düzenli hale getirmeyecek ve etkili öğrenme oranını azaltacaktır. Bu durumda, özellik haritaları arasındaki bağımsızlığı desteklemek için torch.nn.Dropout2d () kullanılır.
4) torch.nn.AlphaDropout Girişe Alfa Bırakma uygulamak için kullanılır. Alfa Bırakma, kendi kendini normalleştirme özelliğini koruyan bir Bırakma türüdür.
12. Seyrek katmanlar
1) torch.nn.Gömme Kelime yerleştirmeleri depolamak ve indeksleri kullanarak bunları almak için kullanılır. Modülün girişi bir indeks listesidir ve çıktı ise karşılık gelen sözcük yerleştirmedir.
2) torch.nn.EmbeddingBag Ara yerleştirmeyi başlatmadan yerleştirme 'torbalarının' toplamlarını veya ortalamasını hesaplamak için kullanılır.
13. Mesafe Fonksiyonu
1) torch.nn.CosineBenzerlik Dim boyunca hesaplanan x1 ve x2 arasındaki kosinüs benzerliğini döndürür.
PyTorch'ta torch.nn
2) meşale.nn.İkili Mesafe p-normunu kullanarak v1, v2 vektörleri arasındaki toplu çiftli mesafeyi hesaplar:
PyTorch'ta torch.nn
14. Kayıp fonksiyonu
1) meşale.nn.L1Kayıp Giriş x ve hedef y'deki her bir öğe arasındaki ortalama mutlak hatayı ölçen bir kriter için kullanılır. Azaltılmamış kayıp şu şekilde tanımlanabilir:
l(x,y)=L={l1,...,benN}, benN=|xN-VeN|,
Burada N parti büyüklüğüdür.
2) torch.nn.MSELoss Giriş x ve hedef y'deki her bir öğe arasındaki ortalama karesel hatayı ölçen bir kriter için kullanılır. Azaltılmamış kayıp şu şekilde tanımlanabilir:
l(x,y)=L={l1,...,benN}, benN=(xN-VeN)2,
Burada N parti büyüklüğüdür.
3) torch.nn.CrossEntropyLoss Bu kriter nn.LogSoftmax() ve nn.NLLLoss()'u tek bir sınıfta birleştirir. C sınıflarıyla bir sınıflandırma problemini eğittiğimizde faydalıdır.
4) torch.nn.CTCLoss Bağlantıcı Zamansal Sınıflandırma kaybı, sürekli bir zaman serisi ile hedef dizi arasındaki kaybı hesaplar.
5) torch.nn.NLLLoss Negatif Log-Olabilirlik kaybı, C sınıflarıyla bir sınıflandırma problemini eğitmek için kullanılır.
6) meşale.nn.PoissonNLLLKaybı T'nin Poisson dağılımı ile negatif log-olabilirlik kaybı
target~Poisson(input)loss(input,target)=input-target*log(hedef!)o hedef.
7) torch.nn.KLDivLoss Sürekli dağıtım için kullanışlı bir uzaklık ölçüsüdür ve ayrıca sürekli çıktı dağıtım alanı üzerinde doğrudan regresyon yaptığımızda da faydalıdır.
8) meşale.nn.BCELoss Hedef ile çıktı arasındaki İkili Çapraz Entropiyi ölçen bir kriter oluşturmak için kullanılır. Azaltılmamış kayıp şu şekilde tanımlanabilir:
l(x,y)=L={l1,...,benN}, benN=-vN[VeN*logxN+ (1-yılN)*log(1-xN)],
Burada N parti büyüklüğüdür.
9) torch.nn.BCEWithLogitsLoss Sigmoid katmanını ve BCELoss'u tek bir sınıfta birleştirir. İşlemi tek bir katmanda birleştirerek sayısal kararlılık için log-toplam-exp hilesinden yararlanabiliriz.
10) torch.nn.MarginRankingLoss Verilen x1, x2 girişlerinin, iki adet 1D mini-toplu Tensörün ve 1 veya -1 içeren bir 1D mini-toplu tensör y etiketinin kaybını ölçen bir kriter oluşturur. Mini partideki her numune için kayıp fonksiyonu aşağıdaki gibidir:
kayıp(x,y)=max(0,-y*(x)1-X2)+kenar boşluğu
11) torch.nn.HingeEmbedddingLoss HingeEmbedddingLoss, verilen bir giriş tensörü x ve 1 veya -1 içeren bir etiket tensörü y'nin kaybını ölçer. İki girdinin benzer veya farklı olup olmadığını ölçmek için kullanılır. Kayıp fonksiyonu şu şekilde tanımlanır:
PyTorch'ta torch.nn
12) torch.nn.MultiLabelMarginLoss Giriş x ve çıkış y arasındaki çok sınıflı çoklu sınıflandırma menteşe kaybını optimize eden bir kriter oluşturmak için kullanılır.
PyTorch'ta torch.nn
13) meşale.nn.SmoothL1Loss Mutlak eleman bazında hata 1'in altına düşerse kare terimini, aksi takdirde L1 terimini kullanan bir kriter oluşturmak için kullanılır. Huber kaybı olarak da bilinir:
PyTorch'ta torch.nn
14) torch.nn.SoftMarginLoss Giriş tensörü x ile 1 veya -1 içeren hedef tensörü y arasındaki iki sınıflı sınıflandırma lojistik kaybını optimize eden bir kriter oluşturmak için kullanılır.
PyTorch'ta torch.nn
15) torch.nn.MultiLabelSoftMarginLoss Giriş x ile hedef y boyutu (N, C) arasındaki maksimum entropiye dayalı olarak çoklu etiketli bire karşı hepsine kaybı optimize eden bir kriter oluşturmak için kullanılır.
PyTorch'ta torch.nn
16) torch.nn.CosineEmbedddingLoss Verilen x1, x2 giriş tensörlerinin ve 1 veya -1 değerlerine sahip bir tensör etiketi y'nin kaybını ölçen bir kriter oluşturmak için kullanılır. Kosinüs mesafesini kullanarak iki girişin benzer veya farklı olup olmadığını ölçmek için kullanılır.
PyTorch'ta torch.nn
17) torch.nn.MultiMarginLoss Giriş x ve çıkış y arasındaki çok sınıflı sınıflandırma menteşe kaybını optimize eden bir kriter oluşturmak için kullanılır.
PyTorch'ta torch.nn
18) meşale.nn.TripletMarginLoss Verilen x1, x2, x3 giriş tensörlerinin ve 0'dan büyük bir değere sahip bir marjın üçlü kaybını ölçen bir kriter oluşturmak için kullanılır. Örnekler arasındaki göreceli benzerliği ölçmek için kullanılır. Üçlü bir çapa, olumlu örnek ve olumsuz bir örnekten oluşur.
L(a,p,n)=max{d(a)Ben,PBen)-d(aBen,NBen)+kenar boşluğu,0}
on beş. Görüş katmanları
1) torch.nn.PixelShuffle Bir şekil tensöründeki elemanları yeniden düzenlemek için kullanılır(*,C×r2,H,W)'yi (*,C,H×r,W,r) şeklinde bir tensöre dönüştürün
2) torch.nn.Örnek Belirli bir çok kanallı 1D, 2D veya 3D veriyi üst örneklemek için kullanılır.
3) torch.nn.upsamplingNearest2d Çoklu giriş kanalından oluşan bir giriş sinyaline 2 boyutlu en yakın komşu üst örnekleme uygulamak için kullanılır.
4) torch.nn.Yukarı ÖrneklemeBilinear2d Çoklu giriş kanalından oluşan bir giriş sinyaline 2D çift doğrusal yukarı örnekleme uygulamak için kullanılır.
16. DataParallel katmanları (çoklu GPU, dağıtılmış)
1) torch.nn.DataParallel Modül düzeyinde veri paralelliğini uygulamak için kullanılır.
2) torch.nn.DistributedDataParallel Modül düzeyinde torch.distributed paketini temel alan dağıtılmış veri paralelliğini uygulamak için kullanılır.
3) torch.nn.DistributedDataParallelCPU CPU için dağıtılmış veri paralelliğini modül düzeyinde uygulamak için kullanılır.
17. Araçlar
1) meşale.nn.clip_grad_norm_ Yinelenebilir parametrelerin gradyan normunu kırpmak için kullanılır.
2) meşale.nn.clip_grad_value_ Yinelenebilir parametrelerin gradyan normunu belirtilen değerde kırpmak için kullanılır.
3) torch.nn.parameters_to_vector Parametreleri tek bir vektöre dönüştürmek için kullanılır.
4) torch.nn.vector_to_parameters Bir vektörü parametrelere dönüştürmek için kullanılır.
5) torch.nn.weight_norm Verilen modüldeki bir parametreye ağırlık normalizasyonunu uygulamak için kullanılır.
6) torch.nn.remove_weight_norm Bir modülden ağırlık normalizasyonunu ve yeniden parametrelendirmeyi kaldırmak için kullanılır.
7) torch.nn.spectral_norm Verilen modüldeki bir parametreye spektral normalizasyon uygulamak için kullanılır.
8) torch.nn.PackedSequence Paketlenmiş bir dizinin Batch_sizes verilerini ve listesini tutmak için kullanacaktır.
9) torch.nn.pack_padded_sequence Değişken uzunlukta yastıklı diziler içeren bir Tensörü paketlemek için kullanılır.
10) torch.nn.pad_packed_sequence Değişken uzunluklu dizilerin paketlenmiş bir grubunu doldurmak için kullanılır.
11) torch.nn.pad_sequence Değişken uzunluklu Tensörlerin listesini dolgu değeriyle doldurmak için kullanılır.
12) torch.nn.pack_sequence Değişken uzunluktaki Tensörlerin bir listesini paketlemek için kullanılır
13) torch.nn.remove_spectral_norm Bir modülden spektral normalleştirmeyi ve yeniden parametrelendirmeyi kaldırmak için kullanılır.

Referans:

https://pytorch.org/docs/stable/nn.html