Teknik-Informatika-PSDKU-Ng.../backend/.ipynb_checkpoints/analysis_model_jagung-check...

766 lines
158 KiB
Plaintext

{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"id": "465a99a1-29fe-4528-9523-65f205dd8687",
"metadata": {},
"outputs": [],
"source": [
"import numpy as np\n",
"import matplotlib.pyplot as plt\n",
"import seaborn as sns\n",
"import pickle\n",
"import os\n",
"\n",
"from tensorflow.keras.models import load_model\n",
"from tensorflow.keras.preprocessing.image import ImageDataGenerator\n",
"from tensorflow.keras.applications.mobilenet_v2 import preprocess_input\n",
"from sklearn.metrics import classification_report, confusion_matrix\n"
]
},
{
"cell_type": "code",
"execution_count": 2,
"id": "6cffaabd-9e40-4ceb-8838-799932e3d04d",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Model: \"model\"\n",
"__________________________________________________________________________________________________\n",
" Layer (type) Output Shape Param # Connected to \n",
"==================================================================================================\n",
" input_1 (InputLayer) [(None, 224, 224, 3)] 0 [] \n",
" \n",
" Conv1 (Conv2D) (None, 112, 112, 32) 864 ['input_1[0][0]'] \n",
" \n",
" bn_Conv1 (BatchNormalizati (None, 112, 112, 32) 128 ['Conv1[0][0]'] \n",
" on) \n",
" \n",
" Conv1_relu (ReLU) (None, 112, 112, 32) 0 ['bn_Conv1[0][0]'] \n",
" \n",
" expanded_conv_depthwise (D (None, 112, 112, 32) 288 ['Conv1_relu[0][0]'] \n",
" epthwiseConv2D) \n",
" \n",
" expanded_conv_depthwise_BN (None, 112, 112, 32) 128 ['expanded_conv_depthwise[0][0\n",
" (BatchNormalization) ]'] \n",
" \n",
" expanded_conv_depthwise_re (None, 112, 112, 32) 0 ['expanded_conv_depthwise_BN[0\n",
" lu (ReLU) ][0]'] \n",
" \n",
" expanded_conv_project (Con (None, 112, 112, 16) 512 ['expanded_conv_depthwise_relu\n",
" v2D) [0][0]'] \n",
" \n",
" expanded_conv_project_BN ( (None, 112, 112, 16) 64 ['expanded_conv_project[0][0]'\n",
" BatchNormalization) ] \n",
" \n",
" block_1_expand (Conv2D) (None, 112, 112, 96) 1536 ['expanded_conv_project_BN[0][\n",
" 0]'] \n",
" \n",
" block_1_expand_BN (BatchNo (None, 112, 112, 96) 384 ['block_1_expand[0][0]'] \n",
" rmalization) \n",
" \n",
" block_1_expand_relu (ReLU) (None, 112, 112, 96) 0 ['block_1_expand_BN[0][0]'] \n",
" \n",
" block_1_pad (ZeroPadding2D (None, 113, 113, 96) 0 ['block_1_expand_relu[0][0]'] \n",
" ) \n",
" \n",
" block_1_depthwise (Depthwi (None, 56, 56, 96) 864 ['block_1_pad[0][0]'] \n",
" seConv2D) \n",
" \n",
" block_1_depthwise_BN (Batc (None, 56, 56, 96) 384 ['block_1_depthwise[0][0]'] \n",
" hNormalization) \n",
" \n",
" block_1_depthwise_relu (Re (None, 56, 56, 96) 0 ['block_1_depthwise_BN[0][0]']\n",
" LU) \n",
" \n",
" block_1_project (Conv2D) (None, 56, 56, 24) 2304 ['block_1_depthwise_relu[0][0]\n",
" '] \n",
" \n",
" block_1_project_BN (BatchN (None, 56, 56, 24) 96 ['block_1_project[0][0]'] \n",
" ormalization) \n",
" \n",
" block_2_expand (Conv2D) (None, 56, 56, 144) 3456 ['block_1_project_BN[0][0]'] \n",
" \n",
" block_2_expand_BN (BatchNo (None, 56, 56, 144) 576 ['block_2_expand[0][0]'] \n",
" rmalization) \n",
" \n",
" block_2_expand_relu (ReLU) (None, 56, 56, 144) 0 ['block_2_expand_BN[0][0]'] \n",
" \n",
" block_2_depthwise (Depthwi (None, 56, 56, 144) 1296 ['block_2_expand_relu[0][0]'] \n",
" seConv2D) \n",
" \n",
" block_2_depthwise_BN (Batc (None, 56, 56, 144) 576 ['block_2_depthwise[0][0]'] \n",
" hNormalization) \n",
" \n",
" block_2_depthwise_relu (Re (None, 56, 56, 144) 0 ['block_2_depthwise_BN[0][0]']\n",
" LU) \n",
" \n",
" block_2_project (Conv2D) (None, 56, 56, 24) 3456 ['block_2_depthwise_relu[0][0]\n",
" '] \n",
" \n",
" block_2_project_BN (BatchN (None, 56, 56, 24) 96 ['block_2_project[0][0]'] \n",
" ormalization) \n",
" \n",
" block_2_add (Add) (None, 56, 56, 24) 0 ['block_1_project_BN[0][0]', \n",
" 'block_2_project_BN[0][0]'] \n",
" \n",
" block_3_expand (Conv2D) (None, 56, 56, 144) 3456 ['block_2_add[0][0]'] \n",
" \n",
" block_3_expand_BN (BatchNo (None, 56, 56, 144) 576 ['block_3_expand[0][0]'] \n",
" rmalization) \n",
" \n",
" block_3_expand_relu (ReLU) (None, 56, 56, 144) 0 ['block_3_expand_BN[0][0]'] \n",
" \n",
" block_3_pad (ZeroPadding2D (None, 57, 57, 144) 0 ['block_3_expand_relu[0][0]'] \n",
" ) \n",
" \n",
" block_3_depthwise (Depthwi (None, 28, 28, 144) 1296 ['block_3_pad[0][0]'] \n",
" seConv2D) \n",
" \n",
" block_3_depthwise_BN (Batc (None, 28, 28, 144) 576 ['block_3_depthwise[0][0]'] \n",
" hNormalization) \n",
" \n",
" block_3_depthwise_relu (Re (None, 28, 28, 144) 0 ['block_3_depthwise_BN[0][0]']\n",
" LU) \n",
" \n",
" block_3_project (Conv2D) (None, 28, 28, 32) 4608 ['block_3_depthwise_relu[0][0]\n",
" '] \n",
" \n",
" block_3_project_BN (BatchN (None, 28, 28, 32) 128 ['block_3_project[0][0]'] \n",
" ormalization) \n",
" \n",
" block_4_expand (Conv2D) (None, 28, 28, 192) 6144 ['block_3_project_BN[0][0]'] \n",
" \n",
" block_4_expand_BN (BatchNo (None, 28, 28, 192) 768 ['block_4_expand[0][0]'] \n",
" rmalization) \n",
" \n",
" block_4_expand_relu (ReLU) (None, 28, 28, 192) 0 ['block_4_expand_BN[0][0]'] \n",
" \n",
" block_4_depthwise (Depthwi (None, 28, 28, 192) 1728 ['block_4_expand_relu[0][0]'] \n",
" seConv2D) \n",
" \n",
" block_4_depthwise_BN (Batc (None, 28, 28, 192) 768 ['block_4_depthwise[0][0]'] \n",
" hNormalization) \n",
" \n",
" block_4_depthwise_relu (Re (None, 28, 28, 192) 0 ['block_4_depthwise_BN[0][0]']\n",
" LU) \n",
" \n",
" block_4_project (Conv2D) (None, 28, 28, 32) 6144 ['block_4_depthwise_relu[0][0]\n",
" '] \n",
" \n",
" block_4_project_BN (BatchN (None, 28, 28, 32) 128 ['block_4_project[0][0]'] \n",
" ormalization) \n",
" \n",
" block_4_add (Add) (None, 28, 28, 32) 0 ['block_3_project_BN[0][0]', \n",
" 'block_4_project_BN[0][0]'] \n",
" \n",
" block_5_expand (Conv2D) (None, 28, 28, 192) 6144 ['block_4_add[0][0]'] \n",
" \n",
" block_5_expand_BN (BatchNo (None, 28, 28, 192) 768 ['block_5_expand[0][0]'] \n",
" rmalization) \n",
" \n",
" block_5_expand_relu (ReLU) (None, 28, 28, 192) 0 ['block_5_expand_BN[0][0]'] \n",
" \n",
" block_5_depthwise (Depthwi (None, 28, 28, 192) 1728 ['block_5_expand_relu[0][0]'] \n",
" seConv2D) \n",
" \n",
" block_5_depthwise_BN (Batc (None, 28, 28, 192) 768 ['block_5_depthwise[0][0]'] \n",
" hNormalization) \n",
" \n",
" block_5_depthwise_relu (Re (None, 28, 28, 192) 0 ['block_5_depthwise_BN[0][0]']\n",
" LU) \n",
" \n",
" block_5_project (Conv2D) (None, 28, 28, 32) 6144 ['block_5_depthwise_relu[0][0]\n",
" '] \n",
" \n",
" block_5_project_BN (BatchN (None, 28, 28, 32) 128 ['block_5_project[0][0]'] \n",
" ormalization) \n",
" \n",
" block_5_add (Add) (None, 28, 28, 32) 0 ['block_4_add[0][0]', \n",
" 'block_5_project_BN[0][0]'] \n",
" \n",
" block_6_expand (Conv2D) (None, 28, 28, 192) 6144 ['block_5_add[0][0]'] \n",
" \n",
" block_6_expand_BN (BatchNo (None, 28, 28, 192) 768 ['block_6_expand[0][0]'] \n",
" rmalization) \n",
" \n",
" block_6_expand_relu (ReLU) (None, 28, 28, 192) 0 ['block_6_expand_BN[0][0]'] \n",
" \n",
" block_6_pad (ZeroPadding2D (None, 29, 29, 192) 0 ['block_6_expand_relu[0][0]'] \n",
" ) \n",
" \n",
" block_6_depthwise (Depthwi (None, 14, 14, 192) 1728 ['block_6_pad[0][0]'] \n",
" seConv2D) \n",
" \n",
" block_6_depthwise_BN (Batc (None, 14, 14, 192) 768 ['block_6_depthwise[0][0]'] \n",
" hNormalization) \n",
" \n",
" block_6_depthwise_relu (Re (None, 14, 14, 192) 0 ['block_6_depthwise_BN[0][0]']\n",
" LU) \n",
" \n",
" block_6_project (Conv2D) (None, 14, 14, 64) 12288 ['block_6_depthwise_relu[0][0]\n",
" '] \n",
" \n",
" block_6_project_BN (BatchN (None, 14, 14, 64) 256 ['block_6_project[0][0]'] \n",
" ormalization) \n",
" \n",
" block_7_expand (Conv2D) (None, 14, 14, 384) 24576 ['block_6_project_BN[0][0]'] \n",
" \n",
" block_7_expand_BN (BatchNo (None, 14, 14, 384) 1536 ['block_7_expand[0][0]'] \n",
" rmalization) \n",
" \n",
" block_7_expand_relu (ReLU) (None, 14, 14, 384) 0 ['block_7_expand_BN[0][0]'] \n",
" \n",
" block_7_depthwise (Depthwi (None, 14, 14, 384) 3456 ['block_7_expand_relu[0][0]'] \n",
" seConv2D) \n",
" \n",
" block_7_depthwise_BN (Batc (None, 14, 14, 384) 1536 ['block_7_depthwise[0][0]'] \n",
" hNormalization) \n",
" \n",
" block_7_depthwise_relu (Re (None, 14, 14, 384) 0 ['block_7_depthwise_BN[0][0]']\n",
" LU) \n",
" \n",
" block_7_project (Conv2D) (None, 14, 14, 64) 24576 ['block_7_depthwise_relu[0][0]\n",
" '] \n",
" \n",
" block_7_project_BN (BatchN (None, 14, 14, 64) 256 ['block_7_project[0][0]'] \n",
" ormalization) \n",
" \n",
" block_7_add (Add) (None, 14, 14, 64) 0 ['block_6_project_BN[0][0]', \n",
" 'block_7_project_BN[0][0]'] \n",
" \n",
" block_8_expand (Conv2D) (None, 14, 14, 384) 24576 ['block_7_add[0][0]'] \n",
" \n",
" block_8_expand_BN (BatchNo (None, 14, 14, 384) 1536 ['block_8_expand[0][0]'] \n",
" rmalization) \n",
" \n",
" block_8_expand_relu (ReLU) (None, 14, 14, 384) 0 ['block_8_expand_BN[0][0]'] \n",
" \n",
" block_8_depthwise (Depthwi (None, 14, 14, 384) 3456 ['block_8_expand_relu[0][0]'] \n",
" seConv2D) \n",
" \n",
" block_8_depthwise_BN (Batc (None, 14, 14, 384) 1536 ['block_8_depthwise[0][0]'] \n",
" hNormalization) \n",
" \n",
" block_8_depthwise_relu (Re (None, 14, 14, 384) 0 ['block_8_depthwise_BN[0][0]']\n",
" LU) \n",
" \n",
" block_8_project (Conv2D) (None, 14, 14, 64) 24576 ['block_8_depthwise_relu[0][0]\n",
" '] \n",
" \n",
" block_8_project_BN (BatchN (None, 14, 14, 64) 256 ['block_8_project[0][0]'] \n",
" ormalization) \n",
" \n",
" block_8_add (Add) (None, 14, 14, 64) 0 ['block_7_add[0][0]', \n",
" 'block_8_project_BN[0][0]'] \n",
" \n",
" block_9_expand (Conv2D) (None, 14, 14, 384) 24576 ['block_8_add[0][0]'] \n",
" \n",
" block_9_expand_BN (BatchNo (None, 14, 14, 384) 1536 ['block_9_expand[0][0]'] \n",
" rmalization) \n",
" \n",
" block_9_expand_relu (ReLU) (None, 14, 14, 384) 0 ['block_9_expand_BN[0][0]'] \n",
" \n",
" block_9_depthwise (Depthwi (None, 14, 14, 384) 3456 ['block_9_expand_relu[0][0]'] \n",
" seConv2D) \n",
" \n",
" block_9_depthwise_BN (Batc (None, 14, 14, 384) 1536 ['block_9_depthwise[0][0]'] \n",
" hNormalization) \n",
" \n",
" block_9_depthwise_relu (Re (None, 14, 14, 384) 0 ['block_9_depthwise_BN[0][0]']\n",
" LU) \n",
" \n",
" block_9_project (Conv2D) (None, 14, 14, 64) 24576 ['block_9_depthwise_relu[0][0]\n",
" '] \n",
" \n",
" block_9_project_BN (BatchN (None, 14, 14, 64) 256 ['block_9_project[0][0]'] \n",
" ormalization) \n",
" \n",
" block_9_add (Add) (None, 14, 14, 64) 0 ['block_8_add[0][0]', \n",
" 'block_9_project_BN[0][0]'] \n",
" \n",
" block_10_expand (Conv2D) (None, 14, 14, 384) 24576 ['block_9_add[0][0]'] \n",
" \n",
" block_10_expand_BN (BatchN (None, 14, 14, 384) 1536 ['block_10_expand[0][0]'] \n",
" ormalization) \n",
" \n",
" block_10_expand_relu (ReLU (None, 14, 14, 384) 0 ['block_10_expand_BN[0][0]'] \n",
" ) \n",
" \n",
" block_10_depthwise (Depthw (None, 14, 14, 384) 3456 ['block_10_expand_relu[0][0]']\n",
" iseConv2D) \n",
" \n",
" block_10_depthwise_BN (Bat (None, 14, 14, 384) 1536 ['block_10_depthwise[0][0]'] \n",
" chNormalization) \n",
" \n",
" block_10_depthwise_relu (R (None, 14, 14, 384) 0 ['block_10_depthwise_BN[0][0]'\n",
" eLU) ] \n",
" \n",
" block_10_project (Conv2D) (None, 14, 14, 96) 36864 ['block_10_depthwise_relu[0][0\n",
" ]'] \n",
" \n",
" block_10_project_BN (Batch (None, 14, 14, 96) 384 ['block_10_project[0][0]'] \n",
" Normalization) \n",
" \n",
" block_11_expand (Conv2D) (None, 14, 14, 576) 55296 ['block_10_project_BN[0][0]'] \n",
" \n",
" block_11_expand_BN (BatchN (None, 14, 14, 576) 2304 ['block_11_expand[0][0]'] \n",
" ormalization) \n",
" \n",
" block_11_expand_relu (ReLU (None, 14, 14, 576) 0 ['block_11_expand_BN[0][0]'] \n",
" ) \n",
" \n",
" block_11_depthwise (Depthw (None, 14, 14, 576) 5184 ['block_11_expand_relu[0][0]']\n",
" iseConv2D) \n",
" \n",
" block_11_depthwise_BN (Bat (None, 14, 14, 576) 2304 ['block_11_depthwise[0][0]'] \n",
" chNormalization) \n",
" \n",
" block_11_depthwise_relu (R (None, 14, 14, 576) 0 ['block_11_depthwise_BN[0][0]'\n",
" eLU) ] \n",
" \n",
" block_11_project (Conv2D) (None, 14, 14, 96) 55296 ['block_11_depthwise_relu[0][0\n",
" ]'] \n",
" \n",
" block_11_project_BN (Batch (None, 14, 14, 96) 384 ['block_11_project[0][0]'] \n",
" Normalization) \n",
" \n",
" block_11_add (Add) (None, 14, 14, 96) 0 ['block_10_project_BN[0][0]', \n",
" 'block_11_project_BN[0][0]'] \n",
" \n",
" block_12_expand (Conv2D) (None, 14, 14, 576) 55296 ['block_11_add[0][0]'] \n",
" \n",
" block_12_expand_BN (BatchN (None, 14, 14, 576) 2304 ['block_12_expand[0][0]'] \n",
" ormalization) \n",
" \n",
" block_12_expand_relu (ReLU (None, 14, 14, 576) 0 ['block_12_expand_BN[0][0]'] \n",
" ) \n",
" \n",
" block_12_depthwise (Depthw (None, 14, 14, 576) 5184 ['block_12_expand_relu[0][0]']\n",
" iseConv2D) \n",
" \n",
" block_12_depthwise_BN (Bat (None, 14, 14, 576) 2304 ['block_12_depthwise[0][0]'] \n",
" chNormalization) \n",
" \n",
" block_12_depthwise_relu (R (None, 14, 14, 576) 0 ['block_12_depthwise_BN[0][0]'\n",
" eLU) ] \n",
" \n",
" block_12_project (Conv2D) (None, 14, 14, 96) 55296 ['block_12_depthwise_relu[0][0\n",
" ]'] \n",
" \n",
" block_12_project_BN (Batch (None, 14, 14, 96) 384 ['block_12_project[0][0]'] \n",
" Normalization) \n",
" \n",
" block_12_add (Add) (None, 14, 14, 96) 0 ['block_11_add[0][0]', \n",
" 'block_12_project_BN[0][0]'] \n",
" \n",
" block_13_expand (Conv2D) (None, 14, 14, 576) 55296 ['block_12_add[0][0]'] \n",
" \n",
" block_13_expand_BN (BatchN (None, 14, 14, 576) 2304 ['block_13_expand[0][0]'] \n",
" ormalization) \n",
" \n",
" block_13_expand_relu (ReLU (None, 14, 14, 576) 0 ['block_13_expand_BN[0][0]'] \n",
" ) \n",
" \n",
" block_13_pad (ZeroPadding2 (None, 15, 15, 576) 0 ['block_13_expand_relu[0][0]']\n",
" D) \n",
" \n",
" block_13_depthwise (Depthw (None, 7, 7, 576) 5184 ['block_13_pad[0][0]'] \n",
" iseConv2D) \n",
" \n",
" block_13_depthwise_BN (Bat (None, 7, 7, 576) 2304 ['block_13_depthwise[0][0]'] \n",
" chNormalization) \n",
" \n",
" block_13_depthwise_relu (R (None, 7, 7, 576) 0 ['block_13_depthwise_BN[0][0]'\n",
" eLU) ] \n",
" \n",
" block_13_project (Conv2D) (None, 7, 7, 160) 92160 ['block_13_depthwise_relu[0][0\n",
" ]'] \n",
" \n",
" block_13_project_BN (Batch (None, 7, 7, 160) 640 ['block_13_project[0][0]'] \n",
" Normalization) \n",
" \n",
" block_14_expand (Conv2D) (None, 7, 7, 960) 153600 ['block_13_project_BN[0][0]'] \n",
" \n",
" block_14_expand_BN (BatchN (None, 7, 7, 960) 3840 ['block_14_expand[0][0]'] \n",
" ormalization) \n",
" \n",
" block_14_expand_relu (ReLU (None, 7, 7, 960) 0 ['block_14_expand_BN[0][0]'] \n",
" ) \n",
" \n",
" block_14_depthwise (Depthw (None, 7, 7, 960) 8640 ['block_14_expand_relu[0][0]']\n",
" iseConv2D) \n",
" \n",
" block_14_depthwise_BN (Bat (None, 7, 7, 960) 3840 ['block_14_depthwise[0][0]'] \n",
" chNormalization) \n",
" \n",
" block_14_depthwise_relu (R (None, 7, 7, 960) 0 ['block_14_depthwise_BN[0][0]'\n",
" eLU) ] \n",
" \n",
" block_14_project (Conv2D) (None, 7, 7, 160) 153600 ['block_14_depthwise_relu[0][0\n",
" ]'] \n",
" \n",
" block_14_project_BN (Batch (None, 7, 7, 160) 640 ['block_14_project[0][0]'] \n",
" Normalization) \n",
" \n",
" block_14_add (Add) (None, 7, 7, 160) 0 ['block_13_project_BN[0][0]', \n",
" 'block_14_project_BN[0][0]'] \n",
" \n",
" block_15_expand (Conv2D) (None, 7, 7, 960) 153600 ['block_14_add[0][0]'] \n",
" \n",
" block_15_expand_BN (BatchN (None, 7, 7, 960) 3840 ['block_15_expand[0][0]'] \n",
" ormalization) \n",
" \n",
" block_15_expand_relu (ReLU (None, 7, 7, 960) 0 ['block_15_expand_BN[0][0]'] \n",
" ) \n",
" \n",
" block_15_depthwise (Depthw (None, 7, 7, 960) 8640 ['block_15_expand_relu[0][0]']\n",
" iseConv2D) \n",
" \n",
" block_15_depthwise_BN (Bat (None, 7, 7, 960) 3840 ['block_15_depthwise[0][0]'] \n",
" chNormalization) \n",
" \n",
" block_15_depthwise_relu (R (None, 7, 7, 960) 0 ['block_15_depthwise_BN[0][0]'\n",
" eLU) ] \n",
" \n",
" block_15_project (Conv2D) (None, 7, 7, 160) 153600 ['block_15_depthwise_relu[0][0\n",
" ]'] \n",
" \n",
" block_15_project_BN (Batch (None, 7, 7, 160) 640 ['block_15_project[0][0]'] \n",
" Normalization) \n",
" \n",
" block_15_add (Add) (None, 7, 7, 160) 0 ['block_14_add[0][0]', \n",
" 'block_15_project_BN[0][0]'] \n",
" \n",
" block_16_expand (Conv2D) (None, 7, 7, 960) 153600 ['block_15_add[0][0]'] \n",
" \n",
" block_16_expand_BN (BatchN (None, 7, 7, 960) 3840 ['block_16_expand[0][0]'] \n",
" ormalization) \n",
" \n",
" block_16_expand_relu (ReLU (None, 7, 7, 960) 0 ['block_16_expand_BN[0][0]'] \n",
" ) \n",
" \n",
" block_16_depthwise (Depthw (None, 7, 7, 960) 8640 ['block_16_expand_relu[0][0]']\n",
" iseConv2D) \n",
" \n",
" block_16_depthwise_BN (Bat (None, 7, 7, 960) 3840 ['block_16_depthwise[0][0]'] \n",
" chNormalization) \n",
" \n",
" block_16_depthwise_relu (R (None, 7, 7, 960) 0 ['block_16_depthwise_BN[0][0]'\n",
" eLU) ] \n",
" \n",
" block_16_project (Conv2D) (None, 7, 7, 320) 307200 ['block_16_depthwise_relu[0][0\n",
" ]'] \n",
" \n",
" block_16_project_BN (Batch (None, 7, 7, 320) 1280 ['block_16_project[0][0]'] \n",
" Normalization) \n",
" \n",
" Conv_1 (Conv2D) (None, 7, 7, 1280) 409600 ['block_16_project_BN[0][0]'] \n",
" \n",
" Conv_1_bn (BatchNormalizat (None, 7, 7, 1280) 5120 ['Conv_1[0][0]'] \n",
" ion) \n",
" \n",
" out_relu (ReLU) (None, 7, 7, 1280) 0 ['Conv_1_bn[0][0]'] \n",
" \n",
" global_average_pooling2d ( (None, 1280) 0 ['out_relu[0][0]'] \n",
" GlobalAveragePooling2D) \n",
" \n",
" dropout (Dropout) (None, 1280) 0 ['global_average_pooling2d[0][\n",
" 0]'] \n",
" \n",
" dense (Dense) (None, 4) 5124 ['dropout[0][0]'] \n",
" \n",
"==================================================================================================\n",
"Total params: 2263108 (8.63 MB)\n",
"Trainable params: 1211204 (4.62 MB)\n",
"Non-trainable params: 1051904 (4.01 MB)\n",
"__________________________________________________________________________________________________\n"
]
}
],
"source": [
"model = load_model(\"model/best_model.h5\")\n",
"model.summary()\n"
]
},
{
"cell_type": "code",
"execution_count": 3,
"id": "d219a3c2-36e8-4ad9-8362-cc62df420382",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Found 1846 images belonging to 4 classes.\n",
"Class Indices:\n",
"{'hawar_daun': 0, 'karat_daun': 1, 'non_jagung': 2, 'sehat': 3}\n"
]
}
],
"source": [
"IMG_SIZE = (224, 224)\n",
"BATCH_SIZE = 16\n",
"\n",
"test_datagen = ImageDataGenerator(\n",
" preprocessing_function=preprocess_input\n",
")\n",
"\n",
"test_generator = test_datagen.flow_from_directory(\n",
" \"dataset_split/test\",\n",
" target_size=IMG_SIZE,\n",
" batch_size=BATCH_SIZE,\n",
" class_mode=\"categorical\",\n",
" shuffle=False\n",
")\n",
"\n",
"print(\"Class Indices:\")\n",
"print(test_generator.class_indices)"
]
},
{
"cell_type": "code",
"execution_count": 4,
"id": "e6a66374-d242-4211-b4ef-35fd7db7fa60",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"116/116 [==============================] - 82s 681ms/step - loss: 0.0096 - accuracy: 0.9973\n",
"Test Accuracy : 99.73%\n",
"Test Loss : 0.0096\n"
]
}
],
"source": [
"loss, accuracy = model.evaluate(test_generator)\n",
"\n",
"print(f\"Test Accuracy : {accuracy*100:.2f}%\")\n",
"print(f\"Test Loss : {loss:.4f}\")\n"
]
},
{
"cell_type": "code",
"execution_count": 5,
"id": "1da37f1a-ecf4-481d-bebb-39885ac80691",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"116/116 [==============================] - 71s 604ms/step\n"
]
},
{
"data": {
"image/png": "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+fLlZfTo0RIXF+e2frPu09vUkSNHpGDBgha20nc9/nhzefONIfLaiHFyZ60HZeu2XfLN4jmSP39eq5sGL+B8B4bEc6ck9uvZcvnNF+Xy2N5y7fdtkrXzKxJcqLg4zp6SS4Pau22x384Rx9UYubZ7o8djZWnzgiQePWjJ60DGiozMJtu27ZKevV7hrYXlfCJInDJliixatMh0Lzdq1Mhseln3TZs2zRyzf/9+ee6556xuqk/q3aurzHhvrsz+YL7s3v2HPNfjZYmJuSKdnn7S6qbBCzjfgSFh5wZJ2L1RHKeOiePkUYn75kOR2KsSUqKciCNRHBfPuW2hVWpL/JbVInFXPTKSQVkjJW7lQsteCzLOd0tWyuAhY+TLL7/jbbVpJnHUqFFy5513So4cOaRAgQLSsmVL+e2339yOuXr1qvTo0UPy5s0r2bNnl9atW8uJEyfcjjl06JA0bdrULEyij9O/f3+5du2a/wWJd999txw4cECGDx8uVatWNZte1n26frNq3769eYFwpzO/a9SoKstX/OTapzPEl69YLbVr/911hcDB+Q5QQcESent9kYgsknBwj8fNwcVulZBit0r8uqXu+wveIuGNn5SrH403gSUA//fjjz+aAHDdunWydOlS07PauHFjuXz5suuY3r17y9dffy0LFiwwxx89elRatWrluj0hIcEEiNpDu2bNGpk9e7bMmjVLBg8e7H8TV5RGzN26dUvz/WJjY82WlAZJSUvoBLJ8+fJIaGioRJ845bY/OvqklC93q2XtgndwvgNLcOESZiyihIaLxF2RK++9LoknDnscF1a7sSQcPySJSQPIkFDJ0qG/xH41UxznTorkYzgO8E84fCRs+O479yyyBneaCdy4caPcc889cv78eVP1Rau/3HfffeaYmTNnSoUKFUxgqcm177//Xnbt2iXLli0zQ/V0Xsdrr70mAwYMkKFDh0p4eLh/BYlKX5CmR5OOTVTNmze/YVp22LBhbvuCgrNLUEiU19oJABkhMfqIXH6jlwRlySah1etKlna95cqkge6BYli4hN1xj8Qumed234hHOprjrm38gZMBZMTn0cvvYmwKSS1dKORmi4VoUKjy5MljfmqwqNlFHZrnpPM3dOGRtWvXmiBRf2qVmKRzObSCTPfu3WXnzp1y++23+0+QqOMNH330UTOTWTOAyQtqa9r0egYO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",
"text/plain": [
"<Figure size 800x600 with 2 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"Y_pred = model.predict(test_generator)\n",
"y_pred = np.argmax(Y_pred, axis=1)\n",
"\n",
"cm = confusion_matrix(test_generator.classes, y_pred)\n",
"\n",
"plt.figure(figsize=(8,6))\n",
"sns.heatmap(\n",
" cm,\n",
" annot=True,\n",
" fmt='d',\n",
" xticklabels=test_generator.class_indices.keys(),\n",
" yticklabels=test_generator.class_indices.keys()\n",
")\n",
"\n",
"plt.xlabel(\"Predicted Label\")\n",
"plt.ylabel(\"True Label\")\n",
"plt.title(\"Confusion Matrix\")\n",
"plt.show()\n"
]
},
{
"cell_type": "code",
"execution_count": 6,
"id": "4f202e8d-d787-4a56-b461-29d9b78b412b",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
" precision recall f1-score support\n",
"\n",
" hawar_daun 1.00 0.99 1.00 412\n",
" karat_daun 1.00 1.00 1.00 537\n",
" non_jagung 1.00 1.00 1.00 375\n",
" sehat 0.99 1.00 1.00 522\n",
"\n",
" accuracy 1.00 1846\n",
" macro avg 1.00 1.00 1.00 1846\n",
"weighted avg 1.00 1.00 1.00 1846\n",
"\n"
]
}
],
"source": [
"print(classification_report(\n",
" test_generator.classes,\n",
" y_pred,\n",
" target_names=test_generator.class_indices.keys()\n",
"))"
]
},
{
"cell_type": "code",
"execution_count": 7,
"id": "3071dff0-dd56-40b0-97b2-28b8ca7b4c43",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"History keys: dict_keys(['accuracy', 'val_accuracy', 'loss', 'val_loss'])\n"
]
}
],
"source": [
"with open(\"model/history.pkl\", \"rb\") as f:\n",
" history = pickle.load(f)\n",
"\n",
"print(\"History keys:\", history.keys())"
]
},
{
"cell_type": "code",
"execution_count": 8,
"id": "1485f769-d3aa-491d-9efc-9d966ac9fb14",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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",
"text/plain": [
"<Figure size 640x480 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"plt.figure()\n",
"plt.plot(history['accuracy'])\n",
"plt.plot(history['val_accuracy'])\n",
"plt.title(\"Training & Validation Accuracy\")\n",
"plt.xlabel(\"Epoch\")\n",
"plt.ylabel(\"Accuracy\")\n",
"plt.legend([\"Train\", \"Validation\"])\n",
"plt.show()"
]
},
{
"cell_type": "code",
"execution_count": 9,
"id": "5686ff28-19f0-4ba2-a03f-f1b73f3c0b61",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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",
"text/plain": [
"<Figure size 640x480 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"plt.figure()\n",
"plt.plot(history['loss'])\n",
"plt.plot(history['val_loss'])\n",
"plt.title(\"Training & Validation Loss\")\n",
"plt.xlabel(\"Epoch\")\n",
"plt.ylabel(\"Loss\")\n",
"plt.legend([\"Train\", \"Validation\"])\n",
"plt.show()"
]
},
{
"cell_type": "code",
"execution_count": 10,
"id": "347f37b4-1ee2-4c0d-96c7-9f6cca561272",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Requirement already satisfied: seaborn in .\\venv\\lib\\site-packages (0.13.2)\n",
"Requirement already satisfied: numpy!=1.24.0,>=1.20 in .\\venv\\lib\\site-packages (from seaborn) (1.24.3)\n",
"Requirement already satisfied: pandas>=1.2 in .\\venv\\lib\\site-packages (from seaborn) (2.3.3)\n",
"Requirement already satisfied: matplotlib!=3.6.1,>=3.4 in .\\venv\\lib\\site-packages (from seaborn) (3.10.8)\n",
"Requirement already satisfied: contourpy>=1.0.1 in .\\venv\\lib\\site-packages (from matplotlib!=3.6.1,>=3.4->seaborn) (1.3.2)\n",
"Requirement already satisfied: cycler>=0.10 in .\\venv\\lib\\site-packages (from matplotlib!=3.6.1,>=3.4->seaborn) (0.12.1)\n",
"Requirement already satisfied: fonttools>=4.22.0 in .\\venv\\lib\\site-packages (from matplotlib!=3.6.1,>=3.4->seaborn) (4.61.1)\n",
"Requirement already satisfied: kiwisolver>=1.3.1 in .\\venv\\lib\\site-packages (from matplotlib!=3.6.1,>=3.4->seaborn) (1.4.9)\n",
"Requirement already satisfied: packaging>=20.0 in .\\venv\\lib\\site-packages (from matplotlib!=3.6.1,>=3.4->seaborn) (25.0)\n",
"Requirement already satisfied: pillow>=8 in .\\venv\\lib\\site-packages (from matplotlib!=3.6.1,>=3.4->seaborn) (12.1.0)\n",
"Requirement already satisfied: pyparsing>=3 in .\\venv\\lib\\site-packages (from matplotlib!=3.6.1,>=3.4->seaborn) (3.3.2)\n",
"Requirement already satisfied: python-dateutil>=2.7 in .\\venv\\lib\\site-packages (from matplotlib!=3.6.1,>=3.4->seaborn) (2.9.0.post0)\n",
"Requirement already satisfied: pytz>=2020.1 in .\\venv\\lib\\site-packages (from pandas>=1.2->seaborn) (2025.2)\n",
"Requirement already satisfied: tzdata>=2022.7 in .\\venv\\lib\\site-packages (from pandas>=1.2->seaborn) (2025.3)\n",
"Requirement already satisfied: six>=1.5 in .\\venv\\lib\\site-packages (from python-dateutil>=2.7->matplotlib!=3.6.1,>=3.4->seaborn) (1.17.0)\n"
]
}
],
"source": [
"!pip install seaborn\n"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "271efff2-33d3-42d1-8aa8-ade5f337053e",
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3 (ipykernel)",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.10.7"
}
},
"nbformat": 4,
"nbformat_minor": 5
}