Brief-nya
Toko Kita adalah toko online kecil di Indonesia yang menjual kopi, peralatan dapur, alat tulis, perlengkapan rumah, dan beberapa barang elektronik. Gudang ingin tahu setiap pagi berapa unit kopi yang akan terjual hari itu, dan seorang rekan kerja sudah mulai membuat neural network untuk itu di PyTorch. Sebelum toko bergantung padanya, pemiliknya ingin ada orang di tim yang paham apa yang sebenarnya dikerjakan kode training itu, bukan orang yang menyalinnya lalu berharap semuanya beres.
Orang itu kamu. PyTorch tidak bisa berjalan di browser, jadi proyek ini mengerjakan dengan tangan, memakai NumPy, hal-hal yang sama yang dikerjakan nn.Module, loss function, dan optimizer untukmu: forward pass, loss, pembaruan parameter, dan keputusan-keputusan di sekitar training, seperti kapan berhenti dan bobot mana yang disimpan. Setelah kamu menulis semua ini sendiri, training loop PyTorch tidak lagi terasa seperti ritual. Setiap barisnya terhubung ke sesuatu yang sudah kamu bangun.
Cara kerja tugas-tugasnya
Setiap tugas dicek otomatis, seperti soal-soal modul. Tiketnya menetapkan random seed, learning rate, dan urutan langkah-langkahnya, supaya angka-angkamu bisa dibandingkan persis dengan angka yang diharapkan. Ikuti dengan teliti: di kode training, mengerjakan langkah yang sama dengan urutan berbeda benar-benar menghasilkan model yang berbeda. Ada petunjuk kalau kamu buntu, tapi coba setiap tugas tanpa membuka solusinya dulu.
Tugas-tugasnya
| # | Tugas | Keterampilan utama |
|---|---|---|
| 1 | Forward pass dan loss | Bentuk matriks, ReLU, jaringan dua lapis, MSE, baseline |
| 2 | Early stopping | Training loop, validation loss, patience, menyimpan bobot terbaik |
| 3 | Memperbaiki skrip training | Debugging: loss yang meledak, gradien yang salah, data validasi yang bocor |
Datanya
Ketiga tugas memakai daily_demand.csv, yang sudah dimuat sebagai DataFrame demand. Isinya satu baris per hari di tahun 2024 (366 baris):
date, temperature, weekend, promo, ad_spend, units
Fiturnya adalah temperature (°C), weekend dan promo (0 atau 1), serta ad_spend (juta rupiah), dan targetnya units, jumlah unit kopi yang terjual. 300 baris pertama adalah training set, dan sisanya (mulai baris 300) adalah validation set. Setiap kode awal sudah menstandarkan fiturnya memakai mean dan standar deviasi baris training, supaya setiap fitur punya skala yang mirip.
Kalau sudah siap, buka Task 1.