Jaringan feed-forward yang dirakit dari bagian-bagian alih-alih diimpor: lapis dense dan dropout, enam fungsi aktivasi, lima fungsi galat, dan pelatihan mini-batch dengan momentum serta early stopping — seluruhnya di NumPy. PyTorch muncul tepat sekali di repositorinya, untuk mengunduh MNIST; tidak ada bagian modelnya yang menyentuhnya.
Memanggil metode fit sebuah kerangka kerja mengajarkan Anda API-nya. Menulis backward pass mengajarkan Anda kenapa API itu berbentuk demikian. Yang ini adalah yang kedua: forward dan backward untuk setiap lapis, aturan rantai diterapkan dengan tangan, dan gradien yang salah dengan cara yang kentara sampai akhirnya tidak lagi salah.
Sesi latihan yang terekam mencapai akurasi pelatihan 98,9% dan akurasi validasi 97,9% pada MNIST setelah 150 epoch — cukup dekat dengan baseline sebuah kerangka kerja untuk menunjukkan bahwa matematikanya benar, dan itulah satu-satunya klaim yang layak dibuat proyek semacam ini.
Lapis dense dengan pilihan inisialisasi bobot, dropout yang tahu bedanya pelatihan dan inferensi, enam aktivasi, lima fungsi galat termasuk Huber dan pasangan softmax-dengan-cross-entropy yang stabil secara numerik, pengacakan mini-batch, momentum, dan early stopping berdasarkan galat validasi.
Lapis-lapisnya berbagi satu antarmuka kecil — forward, backward, update — sehingga sebuah jaringan hanyalah daftar benda yang memenuhinya. Batasan itulah yang menjaga kodenya tetap terbaca pada ukuran ini, dan batasan yang sama pula yang akhirnya dicapai setiap kerangka kerja.
Sebuah kanvas gambar disertakan bersama kode pelatihannya: pilih model yang tersimpan, gambar sebuah angka dengan tetikus, dan lihat prediksinya berikut tingkat keyakinannya.
Ini lebih penting daripada kelihatannya. Angka MNIST terpusat, ternormalisasi ukurannya, dan digambar dengan ketebalan goresan tertentu; angka yang digambar dengan tetikus tidak satu pun dari itu. Jarak antara skor pada data yang ditahan dan apa yang terjadi pada masukan yang benar-benar baru adalah hal paling berguna yang bisa ditunjukkan kepada pemula, dan jauh lebih meyakinkan untuk digambar sendiri daripada dibaca sebagai teori pergeseran distribusi.