Tensor özellikleri
- Makine Öğrenmesi kursu
- İleri seviye
- Ders 10/78
- 5 dk
Tensor'ın shape, dtype ve device özellikleri vardır.
shape, dtype, device
Her tensörün üç temel özelliği vardır:
x = torch.zeros(2, 3)
print(x.shape) # torch.Size([2, 3])
print(x.dtype) # torch.float32
print(x.device) # cpu
print(x.numel()) # 6 elemanDerin öğrenmede varsayılan tür float32'dir; tam sayı listesinden oluşturulan tensör ise int64 olur. Sınıf etiketleri int64 (torch.long), girdiler float32 olmalıdır.
Tür dönüşümü
Türü değiştirmek için .to(tür) ya da kısa yolları (.float(), .long()) kullanılır. Farklı türlerle işlem yapmak bazen hata, bazen sessiz tür yükseltmesi üretir:
a = torch.tensor([1, 2, 3])
b = a.float() # float32
c = a.to(torch.float64)
print((a / 2).dtype) # torch.float32: bölme ondalık üretir
print((a // 2).tolist()) # [0, 1, 1]NumPy'dan gelen ondalıklı diziler float64 olur; modele vermeden önce .float() ile float32'ye çevrilmelidir.
Uygulama Türler
a = torch.tensor([1, 2, 3]) için a.dtype, (a / 2).dtype ve a.float().dtype değerlerini alt alta yazdır. Ardından torch.zeros(3, 4, 5) tensörünün shape ve numel() değerlerini aynı satırda yazdır.
Başlangıç kodu
import torch
# buraya yazÖrnek çözüm
import torch
a = torch.tensor([1, 2, 3])
print(a.dtype)
print((a / 2).dtype)
print(a.float().dtype)
z = torch.zeros(3, 4, 5)
print(z.shape, z.numel())Beklenen çıktı
torch.int64 torch.float32 torch.float32 torch.Size([3, 4, 5]) 60
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 <code>torch.tensor([1, 2, 3]).dtype</code> nedir?
- torch.int64 Doğru cevap
- torch.float32
- torch.int32
- torch.float64
Açıklama: Tam sayı listeleri int64 tensör üretir.
2 Tensörü float32'ye çevir.
x = a.____()
x = a.float()
Açıklama: .float() kısa yolu float32 üretir.
3 Özellikleri eşleştir.
| Kavram | Anlamı |
|---|---|
shape |
Boyutlar |
dtype |
Eleman türü |
device |
cpu ya da cuda |
numel() |
Eleman sayısı |