Create README.md

#1
by henrysalim - opened
Files changed (1) hide show
  1. README.md +79 -0
README.md ADDED
@@ -0,0 +1,79 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Pemanfaatan Model Xception untuk Deteksi Cacat Mikro pada Impeller Submersible Pump
2
+
3
+ Proyek ini membangun model klasifikasi citra biner berbasis **transfer learning** dengan arsitektur **Xception** dari Keras, dilengkapi dengan metode Explainable AI (XAI) seperti **Grad‑CAM** dan **LIME** untuk menjelaskan prediksi model secara visual.
4
+
5
+ ## Deskripsi Model
6
+
7
+ Model memanfaatkan arsitektur **Xception** yang telah dilatih, kemudian ditambahkan beberapa layer di atasnya untuk disesuaikan dengan kebutuhan klasifikasi biner. Teknik **data augmentation**, **rescaling**, dan lapisan **Dense** digunakan untuk meningkatkan akurasi dan generalisasi model.
8
+
9
+ ## Arsitektur Model
10
+
11
+ ```text
12
+ Input: (299, 299, 3)
13
+ ↓ Data Augmentation
14
+ ↓ Rescaling (1./255)
15
+ ↓ Xception (tanpa top layer, pretrained ImageNet)
16
+ ↓ Flatten
17
+ ↓ Dense (128 neuron, ReLU)
18
+ ↓ Dense (1 neuron, Sigmoid)
19
+ Output: Prediksi biner (0 atau 1)
20
+ ```
21
+
22
+ ### Ringkasan Layer
23
+
24
+ | Layer | Output Shape | Parameters |
25
+ | --------------- | -------------------- | ---------- |
26
+ | InputLayer | (None, 299, 299, 3) | 0 |
27
+ | Xception | (None, 10, 10, 2048) | 20,861,480 |
28
+ | Flatten | (None, 204800) | 0 |
29
+ | Dense (ReLU) | (None, 128) | 26,214,528 |
30
+ | Dense (Sigmoid) | (None, 1) | 129 |
31
+
32
+ **Total parameter**: 99.5 juta
33
+ **Trainable parameter**: 26.2 juta
34
+ **Non-trainable (frozen Xception)**: 20.8 juta
35
+
36
+ ## Kompilasi Model
37
+
38
+ ```python
39
+ pretrained_model.compile(
40
+ optimizer='adam',
41
+ loss='binary_crossentropy',
42
+ metrics=['accuracy']
43
+ )
44
+ ```
45
+
46
+ ## Pelatihan Model
47
+
48
+ Model dilatih menggunakan `fit()` pada dataset `train_ds` dan divalidasi terhadap `val_ds` selama 20 epoch.
49
+
50
+ ```python
51
+ history2 = pretrained_model.fit(
52
+ train_ds,
53
+ validation_data=val_ds,
54
+ epochs=20,
55
+ callbacks=[reduce_lr, terminate_callback]
56
+ )
57
+ ```
58
+
59
+ ## Explainable AI (XAI)
60
+
61
+ Model ini juga dieksplorasi menggunakan:
62
+
63
+ * **Grad‑CAM**: Untuk melihat area gambar mana yang dianggap penting oleh model saat membuat prediksi.
64
+
65
+
66
+ ## Struktur Folder (Rekomendasi)
67
+
68
+ ```
69
+ xception-xai-project
70
+ β”œβ”€β”€ train.py
71
+ β”œβ”€β”€ model_summary.png
72
+ β”œβ”€β”€ grad_cam.py
73
+ β”œβ”€β”€ lime_explain.py
74
+ β”œβ”€β”€ requirements.txt
75
+ β”œβ”€β”€ README.md
76
+ └── data/
77
+ β”œβ”€β”€ train/
78
+ └── validation/
79
+ ```