{ "model": "VGG16", "image_size": 224, "batch_size": 64, "num_classes": 111, "class_names": [ "Bali_Barong", "Bali_Merak", "Jakarta_OndelOndel", "Jakarta_Tumpal", "JawaBarat_Megamendung", "JawaTengah_Arumdalu", "JawaTengah_AsemArang", "JawaTengah_AsemSinom", "JawaTengah_AsemWarak", "JawaTengah_Blekok", "JawaTengah_BlekokWarak", "JawaTengah_CindeWilis", "JawaTengah_Cipratan", "JawaTengah_GambangSemarangan", "JawaTengah_IkanKerang", "JawaTengah_JagungLombok", "JawaTengah_JambuBelimbing", "JawaTengah_JambuCitra", "JawaTengah_JayaKusuma", "JawaTengah_Jlamprang", "JawaTengah_KembangSepatu", "JawaTengah_Kemukus", "JawaTengah_Laut", "JawaTengah_LurikSemangka", "JawaTengah_MasjidAgungDemak", "JawaTengah_Mawur", "JawaTengah_Naga", "JawaTengah_ParangKusumo", "JawaTengah_ParangSlobog", "JawaTengah_Rengganis", "JawaTengah_SariMulat", "JawaTengah_Semarangan", "JawaTengah_Sidoluhur", "JawaTengah_Sritaman", "JawaTengah_TanjungGunung", "JawaTengah_TebuBambu", "JawaTengah_Tembakau", "JawaTengah_Truntum", "JawaTengah_TruntumKurung", "JawaTengah_TuguMuda", "JawaTengah_WarakBerasUtah", "JawaTengah_WorawariRumpuk", "JawaTengah_Yuyu", "JawaTimur_Gentongan", "JawaTimur_Pring", "KalimantanBarat_Insang", "Kalimantan_Dayak", "Lampung_Bledheg", "Lampung_Gajah", "Lampung_KacangHijau", "Maluku_Pala", "NTB_Lumbung", "Papua_Asmat", "Papua_Cendrawasih", "Papua_Tifa", "SulawesiSelatan_Lontara", "SumateraBarat_RumahMinang", "SumateraUtara_Boraspati", "SumateraUtara_PintuAceh", "Yogyakarta_Brendi", "Yogyakarta_CakarAyam", "Yogyakarta_CeplokLiring", "Yogyakarta_Gendhangan", "Yogyakarta_JayaKirana", "Yogyakarta_Karawitan", "Yogyakarta_Kawung", "Yogyakarta_KlampokArum", "Yogyakarta_KuncupKanthil", "Yogyakarta_Manggar", "Yogyakarta_ParangBarong", "Yogyakarta_ParangCurigo", "Yogyakarta_ParangRusak", "Yogyakarta_ParangTuding", "Yogyakarta_SekarAndhong", "Yogyakarta_SekarBlimbing", "Yogyakarta_SekarCengkeh", "Yogyakarta_SekarDangan", "Yogyakarta_SekarDhuku", "Yogyakarta_SekarDlima", "Yogyakarta_SekarDuren", "Yogyakarta_SekarGambir", "Yogyakarta_SekarGayam", "Yogyakarta_SekarJagung", "Yogyakarta_SekarJali", "Yogyakarta_SekarJeruk", "Yogyakarta_SekarKeben", "Yogyakarta_SekarKemuning", "Yogyakarta_SekarKenanga", "Yogyakarta_SekarKenikir", "Yogyakarta_SekarKenthang", "Yogyakarta_SekarKepel", "Yogyakarta_SekarKetongkeng", "Yogyakarta_SekarLintang", "Yogyakarta_SekarManggis", "Yogyakarta_SekarMenur", "Yogyakarta_SekarMindi", "Yogyakarta_SekarMlathi", "Yogyakarta_SekarMrica", "Yogyakarta_SekarMundhu", "Yogyakarta_SekarNangka", "Yogyakarta_SekarPacar", "Yogyakarta_SekarPala", "Yogyakarta_SekarPijetan", "Yogyakarta_SekarPudhak", "Yogyakarta_SekarRandhu", "Yogyakarta_SekarSawo", "Yogyakarta_SekarSoka", "Yogyakarta_SekarSrengenge", "Yogyakarta_SekarSrigadhing", "Yogyakarta_SekarTanjung", "Yogyakarta_SekarTebu" ], "split_ratio": "70/15/15", "training": { "epochs": 30, "best_epoch": 27, "initial_lr": 0.001, "optimizer": "Adam", "scheduler": "ReduceLROnPlateau", "total_time_hours": 1.98, "avg_epoch_time_seconds": 234.88 }, "results": { "best_val_acc": 99.3547, "final_train_acc": 99.0093, "final_val_acc": 99.3188, "test_acc": 99.3461, "test_precision": 0.9936, "test_recall": 0.9935, "test_f1": 0.9934, "inference_speed_imgs_per_sec": 272.09 }, "class_statistics": { "mean_class_accuracy": 99.3418, "std_class_accuracy": 2.0216, "min_class_accuracy": 88.0, "max_class_accuracy": 100.0 }, "hardware": { "device": "cuda", "gpu_name": "NVIDIA GeForce RTX 3060", "cuda_version": "12.8" }, "timestamp": "2025-11-30 06:16:16" }