0Pricing
CUDA Academy · Ders

Derin Öğrenme için cuDNN

Büyük ölçekte evrişimler ve tensör işlemleri

Derin Öğrenme için cuDNN, CoddyKit'te ücretsiz bir CUDA Academy dersidir. Bu, 4 dersinin 4. 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, CUDA Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. CUDA Academy kursu toplamda 4 dersten oluşur.

Yapay Zekâ Çerçevelerinin Arkasındaki Motor

cuDNN, NVIDIA'nın derin öğrenme kütüphanesidir. PyTorch ve TensorFlow, hızlı evrişimler ve diğer sinir ağı yapı taşları için ona güvenir. 🧠

Evrişimlerin Yardıma İhtiyaç Duymasının Nedeni

Bir evrişim, küçük bir filtreyi görüntü üzerinde kaydırarak çok büyük miktarda matematiksel işlem yapar. cuDNN bunu naif bir çekirdekten çok daha hızlı gerçekleştirir.

Bir Tanıtıcıyla Başlayın

cuBLAS gibi cuDNN de durumu, bir kez oluşturup her işlemde yeniden kullandığınız ve ardından kapatırken yok ettiğiniz bir tanıtıcıda tutar.

cudnnHandle_t h;
cudnnCreate(&h);

Verilerinizi Açıklayın

cuDNN, tanımlayıcılar aracılığıyla çalışır. Bir tensör tanımlayıcısı, kütüphanenin tam olarak neyi işlediğini bilmesi için şekli, veri türünü ve yerleşimi kaydeder.

cudnnTensorDescriptor_t xDesc;
cudnnCreateTensorDescriptor(&xDesc);

NCHW Yerleşimi

Tensörler genellikle NCHW biçimindedir: yığın, kanallar, yükseklik, genişlik. Matematiğin doğru şekilde eşleşmesi için bu yerleşimi doğru ayarlamak çok önemlidir.

cudnnSetTensor4dDescriptor(xDesc,
  CUDNN_TENSOR_NCHW, CUDNN_DATA_FLOAT, N, C, H, W);

Filtrelerin Kendilerine Ait Bir Tanımlayıcısı Vardır

Evrişim çekirdeğinin ağırlıkları, çıktı kanallarını, girdi kanallarını ve filtrenin yüksekliği ile genişliğini açıklayan ayrı bir filtre tanımlayıcısı kullanır.

cudnnFilterDescriptor_t wDesc;
cudnnCreateFilterDescriptor(&wDesc);

Evrişim Ayarları

Bir evrişim tanımlayıcısı, filtrenin girdi tensörü üzerinde nasıl taranacağını belirleyen dolgu, adım ve genişletme değerlerini saklar.

Bir Algoritma Seçin

cuDNN, hız ve bellek arasında farklı ödünleşimlere sahip çeşitli evrişim algoritmaları sunar. Tensör şekilleriniz için en iyi olanı sorgularsınız.

Bir Çalışma Alanı Ayırın

Hızlı algoritmalar geçici çalışma alanına ihtiyaç duyar. Boyutunu cuDNN'nin önceden bildirdiği bir çalışma alanı arabelleğini cihazda ayırırsınız.

size_t bytes;
cudnnGetConvolutionForwardWorkspaceSize(...,&bytes);

İleri Geçişi Çalıştırın

cudnnConvolutionForward, tanıtıcıyı, tanımlayıcıları, algoritmayı ve çalışma alanını bir araya getirerek çıktı özellik haritasını tek çağrıda üretir.

cudnnConvolutionForward(h, &alpha, xDesc, x,
  wDesc, w, convDesc, algo, ws, bytes, &beta, yDesc, y);

Evrişimlerden Daha Fazlası

cuDNN, modern bir sinir ağını oluşturan diğer katmanlar olan havuzlama, etkinleştirme ve normalleştirme işlemlerini de hızlandırır.

Hızlı Kontrol

cuDNN'nin neyi hızlandırmak üzere tasarlandığını hatırlayın.

Özet

Bir tanıtıcı oluşturdunuz, tensörleri ve filtreleri NCHW biçiminde açıkladınız, çalışma alanıyla bir algoritma seçtiniz ve ileri evrişim geçişini çalıştırdınız. 🎓

Sıkça Sorulan Sorular

“Derin Öğrenme için cuDNN” dersi ücretsiz mi?

Evet — “Derin Öğrenme için cuDNN” 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 CUDA Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. CUDA Academy kursu toplamda 4 dersten oluşur.

“Derin Öğrenme için cuDNN” dersinde ne öğreneceğim?

Büyük ölçekte evrişimler ve tensör işlemleri CUDA 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.

CUDA Academy öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te CUDA 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 4. dersidir.

“Derin Öğrenme için cuDNN” 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 CUDA Academy dersinde kod yazıp çalıştırabilir miyim?

Evet. Her CUDA 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

  1. cuBLAS GEMM'i Doğru Kullanma
  2. Thrust Vektörleri ve Dönüşümleri
  3. Thrust ile Azaltma, Tarama ve Sıralama
  4. Derin Öğrenme için cuDNN
← CUDA Academy Sayfasına Dön