Tentang Repositori Ini: Repositori ini memuat kumpulan bahan belajar tentang implementasi Deep Learning menggunakan PyTorch berbahasa Indonesia. Saran dan masukan sangat dibutuhkan bagi pengembang demi meningkatkan kualitas bahan belajar ini.
Bingung memilih antara mempelajari tensorflow dan pytorch? Baca lebih lengkap disini
No | Topik | Deskripsi | Notebook |
---|---|---|---|
1 | Pengantar Tensor | Memberikan gambaran singkat tentang tipe data tensor dan operasi-operasi aritmatika sederhana menggunakan PyTorch | Tensorbasic |
2 | Autograd | Membahas tentang proses menghitung gradien secara otomatis dengan fungsi autograd | Autograd |
3 | Forward Pass, Backpropagation, Computational Graph | Membahas tentang proses forward pass dan back-propagation serta keterkaitan antara keduanya. Pada bagian ini juga dibahas bagaimana proses computational graph. | Backprop, CompGraph |
4 | Gradient Descent | Membahas tentang perhitungan gradient descent baik menggunakan numpy maupun dengan torch | GradDesc1, GradDesc2 |
5 | Training Pipeline | Proses melakukan training loop dengan pytroch untuk kasus sederhana | Training Pipeline |
6 | Linear Regression | Melakukan regresi sederhana dengan deep learning, mengatur hyperparameter, dan melihat hasil prediksi | Linearreg1, Linearreg2 |
7 | Logistic Regression | Melakukan logistic regression sederhana dan melakukan transformasi data | Logistic Reg |
8 | Dataset & Dataloader | Mempelajari penggunaan dataloader dan proses mempersiapkan dataset pada pytorch | DataLoader |
9 | Dataset Transform | Mentransformasikan dataset dengan bantuan fungsi transforms dari pytorch | Data Transform |
10 | Softmax Cross-Entropy | Mendemonstrasikan fungsi softmax baik dengan pytorch maupun tanpa pytorch. Menghitung loss dengan cross-entropy | SoftMax CrossEnt |
11 | Activation Function | Mencoba beberapa fungsi aktivasi yang disediakan pada PyTorch serta teknik implementasinya | Act Function |
12 | Learning Rate Scheduler | Membahas metode scheduler untuk mengubah nilai LR pada setiap epoch | LR Scheduler |
13 | Feed Forward Neural Network | Mencoba melakukan training dan testing menggunakan dataset tulisan tangan MNIST) | FFNN MNIST |
14 | CNN dengan CIFAR | Mencoba melakukan training dan testing menggunakan metode konvolusi pada dataset CIFAR | CNN-CIFAR |
15 | Menyimpan dan Memuat Model & Checkpoint | Pada tutorial ini akan dibahas secara komprehensif cara-cara untuk menyimpan dan memuat model, serta menyimpan checkpoint ketika melakukan training. Juga akan dibahas cara-cara untuk menyimpan parameter secara online menggunakan wandb. | Save & Ckpt |
16 | Transfer Learning | Pada percobaan ini dilakukan proses transfer learning dari model Resnet18 untuk mengklasifikasikan citra pada dataset hymenoptera (lebah atau semut). Pada modul ini juga dipelajari tentang scheduler. | Transfer Learning |
17 | Tensorboard | Pada modul kali ini, dibahas penggunaan tensorboard untuk meninjau metrik performa dari proses training, testing, serta menggunakan fitur-fitur dasar yang ada pada tensorboard.. | Tensorboard |
18 | Weight & Bias | Mencoba untuk merekam log proses training, menyimpan dan menampilkannya di platform Weight & Bias | Wandb |
19 | Sequence Model | Membahas tentang prediksi terhadap data yang masuk secara sequence dalam rentang waktu. Materi ini menjadi pengantar untuk pembahasan topik Recurssive Neural Network (RNN). | Sequence Model |
Juga terdapat kumpulan tulisan cheatsheet (contekan) terkait pytorch yang dapat anda baca pada tautan berikut ini
Untuk menjalankan skrip pada jupyter notebook yang ada dalam folder IPYNB Code, anda memerlukan instalasi framework PyTorch beserta paket dependensi lainnya. Anda juga disarankan membuat environment baru dengan menggunakan conda
. Petunjuk instalasi conda tidak dijelaskan disini, anda dapat mengikuti petunjuk pada laman dokumentasi Anaconda.
# clone repositori
git clone https://github.com/mctosima/pengantarDLpytorch.git
cd pengantarDLpytorch
# buat environment baru
conda create -n ptorch python=3.9
conda activate ptorch
# install pytorch (CPU only) untuk arsitektur x86_64
conda install pytorch torchvision torchaudio cpuonly -c pytorch
# install paket dependensi esensial lainnya
conda install --file requirements.txt
Jika anda ingin menggunakan GPU NVIDIA dalam proses komputasi (pada beberapa notebook), anda dapat mengikuti perintah berikut untuk instalasi PyTorch berserta paket dependensi lainnya. Perhatikan bahwa GPU NVIDA anda (beserta driver) juga harus mendukung CUDA toolkit 11.3.
# install pytorch (+GPU) untuk arsitektur x86_64
conda install pytorch torchvision torchaudio cudatoolkit=11.3 -c pytorch
Lebih lengkap terkait instalasi framework PyTorch pada mesin lokal anda, kunjungi halaman utama instalasi PyTorch.
Materi yang ada pada repositori ini bersifat gratis dan akan selalu tersedia secara gratis. Kami berterima kasih apabila ada pihak-pihak yang ingin membantu dan mengoreksi konten dari repositori ini. Silahkan tambahkan issue baru agar kami dapat melacak kesalahan maupun saran perbaikan yang ada
Kami menyadari bahwa konten ini tidak sepenuhnya bersumber dari diri kami sendiri. Atribusi dan pencantuman sumber sebisa mungkin dilakukan untuk memberikan kredit kepada pembuat. Apabila anda sebagai pembuat materi / asset yang digunakan pada repositori ini merasa keberatan, kami dengan senang hati akan memperbaiki dan menghapus materi / asset anda dari repositori ini.
Seluruh kode dan materi yang ada di dalam repositori ini menggunakan lisensi MIT. Anda dapat dengan bebas melakukan:
- Menggunakannya untuk keperluan komersial
- Memodifikasi dan menggunakannya untuk keperluan pribadi
- dan Mendistribusikannya untuk kepentingan luas
Apabila anda menggunakan kode dan materi yang ada di dalam repositori ini untuk keperluan komersial, riset, dan pendidikan, mohon cantumkan atribusi terhadap pemilik repositori:
@misc{mctiww2022,
title={Pengantar Deep Learning Dengan Pytorch},
author={Manullang, Martin Clinton Tosima and Wisesa, I Wayan Wiprayoga},
journal={https://github.com/mctosima/pengantarDLpytorch},
year={2022}
}
- Krizhevsky, A. (n.d.). Learning Multiple Layers of Features from Tiny Images. https://www.cs.toronto.edu/~kriz/learning-features-2009-TR.pdf
- MNIST handwritten digit database, Yann LeCun, Corinna Cortes and Chris Burges. (n.d.). Retrieved April 13, 2022, from http://yann.lecun.com/exdb/mnist/
- PyTorch documentation — PyTorch 1.11.0 documentation. (n.d.). Retrieved April 13, 2022, from https://pytorch.org/docs/stable/index.html
- Activation functions in Neural Networks. (2018, January 29). GeeksforGeeks. https://www.geeksforgeeks.org/activation-functions-neural-networks/
- Engineer, P. (2021, February 24). Deep Learning With PyTorch - Full Course. Youtube. https://www.youtube.com/watch?v=c36lUUr864M
- Engineer), P. L. (python. (n.d.). pytorchTutorial: PyTorch Tutorials from my YouTube channel. Github. Retrieved April 13, 2022, from https://github.com/python-engineer/pytorchTutorial
- PyTorch Tutorial. (n.d.). Retrieved April 13, 2022, from https://pytorch.org/tutorials/beginner/blitz/cifar10_tutorial.html
- Dive into Deep Learning, Zhang, Aston and Lipton, Zachary C. and Li, Mu and Smola, Alexander J., fromhttp://d2l.ai/