PyTorch memproses perhitungan sebagai program Python biasa yang tereksekusi langkah demi langkah, sehingga alur pelatihan model terbaca jelas. Section ini membahas perkakas inti PyTorch satu per satu: tensor, autograd, nn.Module, optimizer, DataLoader, hingga training loop lengkap yang menjadi cetakan hampir semua proyek.

# Pengenalan PyTorch

Telusuri sejarah PyTorch dari Torch hingga PyTorch Foundation, pahami filosofi Pythonic eager execution yang membedakannya dari TensorFlow, kenali ekosistemnya, lalu jalankan operasi tensor pertama yang terverifikasi.

Buka →
# Tensor dengan PyTorch

Kuasai tensor dalam alur kerja nyata: lima cara membuatnya, memilih dtype dan device, serta bolak-balik antara NumPy dan torch lengkap dengan jebakan memori bersamanya.

Buka →
# Automatic Differentiation

Pakai autograd dalam siklus pelatihan nyata: zero_grad, forward, loss, backward, step — lengkap dengan tiga jebakan klasik: gradien menumpuk, backward ganda, dan backward pada tensor non-skalar.

Buka →
# Membangun Model dengan nn.Module

Rapikan parameter ke dalam kelas nn.Module dengan __init__ dan forward, baca struktur serta jumlah parameternya, susun model cepat dengan nn.Sequential, dan bedakan mode train() dari eval().

Buka →
# Loss dan Optimizer

Pasangkan model dengan fungsi loss yang tepat — MSELoss, BCEWithLogitsLoss yang stabil, CrossEntropyLoss yang menuntut raw logits — lalu geser parameternya dengan SGD dan Adam dalam training mini yang benar-benar turun loss-nya.

Buka →
# Dataset dan DataLoader

Bungkus data menjadi class Dataset custom dengan __getitem__ dan __len__, lalu sajikan batch tensor melalui DataLoader dengan batch_size, shuffle, dan generator yang terkendali.

Buka →
# Training Loop

Rangkai model, loss, optimizer, dan DataLoader menjadi cetakan training loop lengkap dengan validasi tiap epoch, model.train()/eval(), dan torch.no_grad() — pola yang dipakai hampir semua proyek PyTorch.

Buka →
# Evaluasi Model

Ukur performa model dengan benar: mode eval dan torch.no_grad, evaluasi batch-wise vs seluruh dataset, lalu akurasi, F1, confusion matrix, dan classification_report dari scikit-learn.

Buka →
# Penyimpanan dan Pemuatan Model

Simpan dan muat model PyTorch dengan benar: state_dict versus seluruh objek model, mode aman weights_only, pola checkpoint berisi epoch-loss-optimizer, serta resume training yang terverifikasi identik.

Buka →
# Reproducibility

Kunci seluruh sumber ketidakpastian — seed torch, NumPy, random, generator DataLoader — hingga dua eksekusi dengan seed sama menghasilkan loss yang identik, dan catat versi environment agar hasil bisa diulang orang lain.

Buka →