Deep Learning Academy · Ders

Tensörler NumPy ile Konuşur

torch tensörleri ile NumPy dizileri arasında dönüşüm yapın.

4. ders / 413 adım

Tensörler NumPy ile Konuşur, CoddyKit'te ücretsiz bir Deep Learning 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, 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.

İki Dünya, Tek Köprü

Verilerin çoğu başlangıçta bir NumPy dizisi olarak bulunur. PyTorch, diziler ve tensor'lar arasında her iki yönde geçiş yapmayı kolaylaştırır.

NumPy Dizileri Tensor'lara Benzer

Bir NumPy dizisi de sayıları bir şekil içinde depolar; ancak GPU desteği veya otomatik türev alma özelliği yoktur. Tensor'lar bu güçlü özellikleri ekler.

import numpy as np
a = np.array([1, 2, 3])
print(a.shape)  # (3,)

from_numpy ile NumPy'dan Dönüştürme

Bir diziyi torch.from_numpy ile tensor'a dönüştürün. Bu, mevcut NumPy verileri için standart giriş noktasıdır.

a = np.array([1, 2, 3])
t = torch.from_numpy(a)
print(t)  # tensor([1, 2, 3])

.numpy ile NumPy'a Geri Dönme

Ters yönde gitmek için bir tensor üzerinde .numpy çağrısı yapın. Grafik çizmek veya verileri başka kütüphanelere aktarmak için idealdir.

t = torch.tensor([1, 2, 3])
a = t.numpy()
print(type(a))  # numpy.ndarray

Aynı Belleği Paylaşırlar

Varsayılan olarak dizi ve tensor tek bir bellek bloğunu paylaşır. Birini değiştirmek, diğerini sessizce değiştirir.

a = np.array([1, 2, 3])
t = torch.from_numpy(a)
a[0] = 99
print(t[0])  # tensor(99)

Bağlantıyı Kırmak için Kopyalama

Bağımsız veriler mi istiyorsunuz? Düzenlemelerin özgün diziden ayrı kalması için tensor üzerinde .clone çağrısı yapın.

a = np.array([1, 2, 3])
t = torch.from_numpy(a).clone()
a[0] = 99
print(t[0])  # tensor(1)

Dtype'lar Birlikte Taşınır

Veri türü, köprü üzerinden veriyi takip eder. Bir float64 dizisi, dönüştürmediğiniz sürece float64 tensörüne dönüşür.

a = np.array([1.0, 2.0])
t = torch.from_numpy(a)
print(t.dtype)  # torch.float64

Float64 Tuzaklarına Dikkat

NumPy varsayılan olarak float64 kullanır, ancak modeller float32 ister. Veri türlerinin uyuşmamasından kaynaklanan hataları önlemek için dönüşümden sonra türü dönüştürün.

a = np.array([1.0, 2.0])
t = torch.from_numpy(a).float()
print(t.dtype)  # torch.float32

GPU Tensörlerinin Eve Dönmesi Gerekir

Bir GPU tensöründe doğrudan .numpy çağıramazsınız. Önce .cpu() ile tensörü geri taşıyın, ardından dönüştürün.

t = torch.tensor([1, 2, 3])
a = t.cpu().numpy()
print(a)  # [1 2 3]

Gradyanları Dönüştürmeden Önce Ayırın

Bir tensör gradyanları takip ediyorsa, autograd grafiği olmadan değerleri almak için .numpy çağrısından önce .detach kullanın.

t = torch.tensor([1.0], requires_grad=True)
a = t.detach().numpy()
print(a)  # [1.]

Temiz Bir Dönüştürme Yöntemi

Her tensör için güvenli sıra şudur: detach, ardından cpu, ardından numpy. Gradyanlar veya GPU'lar kullanılsa da kullanılmasa da çalışır.

t = torch.tensor([1.0, 2.0])
a = t.detach().cpu().numpy()
print(a)  # [1. 2.]

Hızlı Kontrol

Dizi ile tensör arasındaki bağlantıyla ilgili bir soru.

Özet: Tensörler NumPy ile Konuşur

from_numpy ve .numpy ile her iki yönde köprü kurabilir, paylaşımlı bellek tuzağına dikkat edebilir ve güvenli dışa aktarma için detach-cpu-numpy kullanabilirsiniz. 🌉

Başlamak ücretsiz

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

“Tensörler NumPy ile Konuşur” dersi ücretsiz mi?

Evet — “Tensörler NumPy ile Konuşur” 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.

“Tensörler NumPy ile Konuşur” dersinde ne öğreneceğim?

torch tensörleri ile NumPy dizileri arasında dönüşüm yapın. 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 4. dersidir.

“Tensörler NumPy ile Konuşur” 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

  1. Şekiller, Veri Türleri ve İndeksleme
  2. Yeniden Şekillendirme, Görünüm, Sıkıştırma ve Genişletme
  3. Döngülerden Kurtaran Yayınlama Kuralları
  4. Tensörler NumPy ile Konuşur
← Deep Learning Academy Sayfasına Dön