
Tensor adalah inti dari PyTorch. Bisa dibilang, tensor di PyTorch itu seperti array di NumPy, tapi dengan kemampuan lebih—terutama untuk komputasi GPU. Di bagian ini, kita akan membahas apa itu tensor, bagaimana cara membuatnya, dan bagaimana cara kerjanya
Apa Itu Tensor?
Secara sederhana, tensor adalah struktur data multidimensi, mirip seperti:
- Skalar (0D tensor): contoh:
5 - Vektor (1D tensor): contoh:
[1, 2, 3] - Matriks (2D tensor): contoh:
[[1, 2], [3, 4]] - Tensor 3D+: seperti array bertumpuk atau gambar RGB
Membuat Tensor
import torch
# Tensor dari list
a = torch.tensor([1.0, 2.0, 3.0])
print(a)
# Tensor 2D
b = torch.tensor([[1, 2], [3, 4]])
print(b)
Tensor Umum yang Sering Digunakan
# Tensor kosong (nilai acak)
torch.empty(2, 3)
# Tensor nol
torch.zeros(2, 2)
# Tensor satu
torch.ones(2, 2)
# Tensor dengan nilai tertentu
torch.full((2, 2), 7)
# Tensor dengan angka urut
torch.arange(0, 10, step=2)
# Tensor dengan nilai acak (uniform 0-1)
torch.rand(2, 2)
# Tensor dengan nilai acak dari distribusi normal
torch.randn(2, 2)
Tipe Data Tensor
Secara default, PyTorch menggunakan float32 untuk tensor angka pecahan.
a = torch.tensor([1.0, 2.0], dtype=torch.float64)
print(a.dtype)
Operasi Dasar pada Tensor
x = torch.tensor([1.0, 2.0])
y = torch.tensor([3.0, 4.0])
print(x + y) # Penjumlahan
print(x * y) # Perkalian elemen
print(x.dot(y)) # Dot product
Mengubah Dimensi (Reshape)
a = torch.arange(1, 10)
b = a.view(3, 3) # Mengubah jadi 3x3
print(b)
Indexing dan Slicing
a = torch.tensor([[1, 2], [3, 4], [5, 6]])
print(a[0]) # Ambil baris pertama
print(a[:, 1]) # Ambil kolom kedua
Interoperabilitas dengan NumPy
import numpy as np
# Dari NumPy ke Tensor
np_array = np.array([1, 2, 3])
tensor = torch.from_numpy(np_array)
# Dari Tensor ke NumPy
back_to_numpy = tensor.numpy()
✅ Ringkasan
- Tensor adalah struktur data utama di PyTorch.
- Kita bisa membuat tensor dari list, angka random, atau dari NumPy.
- Operasi pada tensor mirip dengan array NumPy, tapi bisa dijalankan di GPU.
- Fungsi
view, indexing, dan interoperability sangat membantu dalam manipulasi data.
