🎯 Tujuan
- Membuat tolok ukur awal (baseline) kinerja model multitask.
- Mengukur akurasi klasifikasi jenis dan kematangan pisang dengan hanya data berlabel (L), tanpa data tak berlabel.
- Mengetahui seberapa besar performa awal sebelum menambahkan SSL (FixMatch) atau data real-world.
🗂️ Dataset
- Train-L (studio): foto pisang dengan latar putih (berlabel jenis + kematangan). sumber dari dataset
- Val (studio): subset kecil dari data studio untuk validasi.
- Test-ID (in-domain): data studio yang tidak ikut training.
⚙️ Setup Model
- Backbone: MobileNetV3-Large (CNN ringan).
- Head multitask:
- Head 1 → klasifikasi jenis pisang.
- Head 2 → klasifikasi tingkat kematangan.
- Loss: CrossEntropy untuk tiap tugas → dijumlahkan.
- Optimizer: Adam, LR = 1e-3.
- Freeze-unfreeze: freeze backbone di 5 epoch pertama, lalu unfreeze.
🔧 Proses Training
1. Init dataset. Dataset disimpan kedalam 3 file terpisah, train, val, dan test kemudian ketiga file tersebut disimpan kedalam satu folder yang sama.
img_dir = 'dataset_new'
num_type = 8
train_dataset = MultiTaskImageDataset(
'dataset_new/train_pisang.csv',
img_dir,
transform=transform_train
)
val_dataset = MultiTaskImageDataset(
'dataset_new/val_pisang.csv',
img_dir,
transform=transform_val
)
test_dataset = MultiTaskImageDataset(
'dataset_new/val_pisang.csv',
img_dir,
transform=transform_val
)
2. Inisialisasi model dengan pretrained weights dari ImageNet. Model diload dari library timm
self.backbone = timm.create_model(
"mobilenetv3_large_100",
pretrained=True,
num_classes=0,
global_pool="avg"
)
3. Latih hanya dengan data berlabel (Train-L). Menggunakan library pytorch lightning untuk mempermudah penyimpanan model dan log selama training
trainer = pl.Trainer(
logger=logger,
callbacks=[checkpoint_callback, time_callback],
max_epochs=30,
accelerator="gpu"
)
trainer.fit(model, datamodule=datamodule)
📊 Evaluasi
Evaluasi loss, akurasi kematangan, dan jenis (varietas) pisang



Evaluasi classification report dan confusion matrix untuk tugas jenis (varietas) pisang


Evaluasi classification report dan confusion matrix untuk tugas kematangan (freshness) pisang


