Tensor
- Makine Öğrenmesi kursu
- İleri seviye
- Ders 8/78
- 5 dk
Tensor, PyTorch'un temel veri yapısıdır ve çok boyutlu dizidir.
Tensör
Tensör, PyTorch'un temel veri yapısıdır: aynı türden sayıların n boyutlu dizisi. Boyut sayısına göre adlandırılır: skaler (0), vektör (1), matris (2), daha fazlası tensör. Bir görüntü grubu tipik olarak 4 boyutludur: (örnek, kanal, yükseklik, genişlik).
s = torch.tensor(3.0) # 0 boyut
v = torch.tensor([1.0, 2.0]) # 1 boyut
m = torch.tensor([[1, 2], [3, 4]]) # 2 boyut
print(s.dim(), v.dim(), m.dim()) # 0 1 2Eleman bazlı işlemler, yayınlama ve indeksleme NumPy'daki gibidir.
NumPy ile köprü
torch.from_numpy ve .numpy() veriyi kopyalamadan iki dünya arasında taşır; aynı belleği paylaştıkları için birinde yapılan değişiklik diğerine yansır:
a = np.array([1, 2, 3])
t = torch.from_numpy(a)
a[0] = 100
print(t.tolist()) # [100, 2, 3] bellek ortak
k = torch.tensor(a) # kopya: bağımsızBağımsız bir kopya isteniyorsa torch.tensor(a) ya da t.clone() kullanılır.
Uygulama Paylaşılan bellek
a dizisinden torch.from_numpy ile t1, torch.tensor ile t2 oluştur. Ardından a[1] = 50 yap; t1.tolist() ve t2.tolist() değerlerini alt alta yazdır.
Başlangıç kodu
import numpy as np
import torch
a = np.array([1, 2, 3])
# buraya yazÖrnek çözüm
import numpy as np
import torch
a = np.array([1, 2, 3])
t1 = torch.from_numpy(a)
t2 = torch.tensor(a)
a[1] = 50
print(t1.tolist())
print(t2.tolist())Beklenen çıktı
[1, 50, 3] [1, 2, 3]
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 32 renkli (3 kanal) 64×64 görüntüden oluşan bir grup kaç boyutlu bir tensördür?
- 2
- 5
- 4 Doğru cevap
- 3
Açıklama: Şekil (32, 3, 64, 64): örnek, kanal, yükseklik, genişlik.
2 NumPy dizisini kopyalamadan tensöre çevir.
t = torch.____(a)
t = torch.from_numpy(a)
Açıklama: from_numpy belleği paylaşır; torch.tensor kopyalar.
3 Boyutları eşleştir.
| Kavram | Anlamı |
|---|---|
skaler |
0 boyut |
vektör |
1 boyut |
matris |
2 boyut |
görüntü grubu |
4 boyut |