Data: Dataset Gambar Hewan Sintetis
Proyek ini memakai dataset buatan, bukan foto hewan nyata.
Cara data diperoleh #
- Berkas
hewan_sintetis.npzdibuat oleh skripgenerate_data.pydi folder ini: 96 gambar grayscale 16x16 (32 per kelas: kucing, ikan, burung) yang digambar dari pola geometris — kepala bulat dengan telinga segitiga untuk kucing, elips dengan ekor untuk ikan, badan bulat dengan paruh untuk burung. - Setiap gambar diberi geseran acak +/-2 piksel, skala 0.85-1.15, intensitas 0.75-0.95, dan derau Gaussian, dengan seed tetap sehingga hasil identik di setiap eksekusi.
- Regenerasi:
python3 data/generate_data.py(menimpa berkas npz dengan isi yang sama persis).
Mengapa bukan foto nyata #
Dataset foto hewan populer berukuran besar: Dogs vs. Cats di Kaggle berisi 25.000 gambar (ratusan megabyte) dan Michael/Simpson perlu diunduh manual. Unduhan dan pelatihan lama tidak diperlukan untuk memahami alur proyek CNN — transfer learning, evaluasi, dan pola kodenya sama. Dataset sintetis juga bernilai tambah: kesalahan prediksi bisa ditelusuri ke pola geometris yang terlihat langsung.
Mengganti dengan dataset nyata #
Bila ingin melanjutkan ke data nyata, pola kodenya tinggal disesuaikan:
- Unduh Dogs vs. Cats dari Kaggle atau dataset kecil serupa.
- Susun folder per kelas (
data/train/kucing/,data/train/ikan/, …). - Ganti
muat_dataset()disrc/dataset.pydengan torchvision.datasets.ImageFolder plus transformResizedanToTensor. - Perbesar resolusi masukan (misal 64x64) dan sesuaikan arsitektur CNN.