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.
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 PyTorchKuasai 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 DifferentiationPakai 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.ModuleRapikan 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 OptimizerPasangkan 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 DataLoaderBungkus 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 LoopRangkai 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 ModelUkur 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 ModelSimpan 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 → # ReproducibilityKunci 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 →