tacha.v1 (DCGAN From Scratch)
Model ini adalah arsitektur Generative Adversarial Network (GAN), lebih spesifiknya DCGAN (Deep Convolutional GAN), yang dibangun murni dari nol (from scratch) menggunakan PyTorch tanpa mengambil atau melatih ulang (fine-tuning) model yang sudah jadi.
Model versi v1 ini dilatih untuk mengenali dan mencoba merekonstruksi karakteristik visual dari dataset kustom mini bernama data_cewek.
π Spesifikasi Model & Arsitektur
Karena dibangun dari nol, model ini menggunakan arsitektur kustom berikut:
- Generator: Menggunakan lapisan
ConvTranspose2ddengan aktivasiReLUdanTanhdi akhir untuk memetakan latent vector (noise) menjadi gambar berukuran $64 \times 64 \times 3$ (RGB). - Discriminator: Menggunakan lapisan
Conv2d,BatchNorm2d,LeakyReLU, ditambah dengan Dropout (0.3) untuk menyeimbangkan kekuatan juri agar tidak terlalu dominan.
π Dataset & Konfigurasi Latihan
- Total Dataset: 15 foto kustom (
tacha_dataset) - Ukuran Gambar Target: 64x64 piksel (Berwarna)
- Batch Size: 4
- Learning Rate (Generator): 0.0002
- Learning Rate (Discriminator): 0.00002 (Dibuat lebih lambat agar seimbang)
- Label Smoothing: 0.9 untuk gambar asli
π Hasil Akhir Latihan (Epoch 100)
Pada akhir latihan Epoch 100, model mencapai keseimbangan loss yang sangat ideal:
- Loss Discriminator (D): ~0.5100
- Loss Generator (G): ~0.9877
Catatan: Meskipun secara loss sudah sangat seimbang, wujud gambar pada versi v1 masih berupa noise berpola karena keterbatasan jumlah dataset (15 foto) dan inisialisasi bobot standar bawaan PyTorch. Model ini diamankan sebagai acuan baseline untuk pengembangan versi v2.
π Cara Menggunakan Model Ini
Untuk memuat kembali bobot model ini di PyTorch, pastikan Anda mendefinisikan arsitektur kelas Generator Anda terlebih dahulu, lalu jalankan:
import torch
# Inisialisasi arsitektur Generator Anda dari nol
# gen = Generator(z_dim=100, channels_img=3, features_g=64)
# Muat bobot yang diunduh dari repo ini
gen.load_state_dict(torch.load('tacha_gen_v1.pth'))
gen.eval()