lab12update

This commit is contained in:
Anton
2025-05-24 13:05:08 +04:00
parent d151cef7cc
commit 1c8157e520

View File

@@ -56,7 +56,7 @@
"from sklearn.metrics import classification_report, accuracy_score\n",
"\n",
"IMG_SIZE = (128, 128)\n",
"DATASET_PATH = '../../static/scoobydoo' # путь к данным\n",
"DATASET_PATH = '../../static/scoobydoo'\n",
"\n",
"def load_images(dataset_path, img_size=IMG_SIZE):\n",
" images = []\n",
@@ -88,13 +88,13 @@
"source": [
"### 2. Подготовка данных\n",
"\n",
"На данном этапе выполняется подготовка изображений и меток классов для подачи в нейросетевую модель.\n",
"На этом этапе осуществляется подготовка изображений и соответствующих меток классов для последующей подачи в нейронную сеть.\n",
"\n",
"**Этапы предобработки:**\n",
"1. Нормализация изображений\n",
"2. Кодирование меток классов: \n",
"Массив текстовых меток (['Daphne', 'Fred', 'Scooby', 'Shaggy', 'Velma']) преобразуется в числовые ([0, 1, 2, 3, 4]), а затем в формат One-Hot Encoding (вектор вида [0, 0, 1, 0, 0]), который требуется для многоклассовой классификации.\n",
"3. Разделение на обучающую и тестовую выборки:\n"
"**Основные шаги предобработки:**\n",
"1. **Нормализация изображений** — приведение значений пикселей к единому масштабу.\n",
"2. **Кодирование меток классов:**\n",
" Массив строковых меток (например, ['Daphne', 'Fred', 'Scooby', 'Shaggy', 'Velma']) сначала преобразуется в числовые значения ([0, 1, 2, 3, 4]), а затем в формат One-Hot Encoding (например, [0, 0, 1, 0, 0]), который необходим для задач многоклассовой классификации.\n",
"3. **Разделение данных на обучающую и тестовую выборки** — для оценки обобщающей способности модели.\n"
]
},
{
@@ -171,7 +171,7 @@
"</pre>\n"
],
"text/plain": [
"\u001b[1mModel: \"sequential_1\"\u001b[0m\n"
"\u001B[1mModel: \"sequential_1\"\u001B[0m\n"
]
},
"metadata": {},
@@ -227,47 +227,47 @@
],
"text/plain": [
"┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓\n",
"┃\u001b[1m \u001b[0m\u001b[1mLayer (type) \u001b[0m\u001b[1m \u001b[0m┃\u001b[1m \u001b[0m\u001b[1mOutput Shape \u001b[0m\u001b[1m \u001b[0m┃\u001b[1m \u001b[0m\u001b[1m Param #\u001b[0m\u001b[1m \u001b[0m┃\n",
"┃\u001B[1m \u001B[0m\u001B[1mLayer (type) \u001B[0m\u001B[1m \u001B[0m┃\u001B[1m \u001B[0m\u001B[1mOutput Shape \u001B[0m\u001B[1m \u001B[0m┃\u001B[1m \u001B[0m\u001B[1m Param #\u001B[0m\u001B[1m \u001B[0m┃\n",
"┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩\n",
"│ conv2d_5 (\u001b[38;5;33mConv2D\u001b[0m) │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m128\u001b[0m, \u001b[38;5;34m128\u001b[0m, \u001b[38;5;34m32\u001b[0m) │ \u001b[38;5;34m896\u001b[0m │\n",
"│ conv2d_5 (\u001B[38;5;33mConv2D\u001B[0m) │ (\u001B[38;5;45mNone\u001B[0m, \u001B[38;5;34m128\u001B[0m, \u001B[38;5;34m128\u001B[0m, \u001B[38;5;34m32\u001B[0m) │ \u001B[38;5;34m896\u001B[0m │\n",
"├─────────────────────────────────┼────────────────────────┼───────────────┤\n",
"│ batch_normalization_3 │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m128\u001b[0m, \u001b[38;5;34m128\u001b[0m, \u001b[38;5;34m32\u001b[0m) │ \u001b[38;5;34m128\u001b[0m │\n",
"│ (\u001b[38;5;33mBatchNormalization\u001b[0m) │ │ │\n",
"│ batch_normalization_3 │ (\u001B[38;5;45mNone\u001B[0m, \u001B[38;5;34m128\u001B[0m, \u001B[38;5;34m128\u001B[0m, \u001B[38;5;34m32\u001B[0m) │ \u001B[38;5;34m128\u001B[0m │\n",
"│ (\u001B[38;5;33mBatchNormalization\u001B[0m) │ │ │\n",
"├─────────────────────────────────┼────────────────────────┼───────────────┤\n",
"│ conv2d_6 (\u001b[38;5;33mConv2D\u001b[0m) │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m128\u001b[0m, \u001b[38;5;34m128\u001b[0m, \u001b[38;5;34m32\u001b[0m) │ \u001b[38;5;34m9,248\u001b[0m │\n",
"│ conv2d_6 (\u001B[38;5;33mConv2D\u001B[0m) │ (\u001B[38;5;45mNone\u001B[0m, \u001B[38;5;34m128\u001B[0m, \u001B[38;5;34m128\u001B[0m, \u001B[38;5;34m32\u001B[0m) │ \u001B[38;5;34m9,248\u001B[0m │\n",
"├─────────────────────────────────┼────────────────────────┼───────────────┤\n",
"│ max_pooling2d_3 (\u001b[38;5;33mMaxPooling2D\u001b[0m) │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m64\u001b[0m, \u001b[38;5;34m64\u001b[0m, \u001b[38;5;34m32\u001b[0m) │ \u001b[38;5;34m0\u001b[0m │\n",
"│ max_pooling2d_3 (\u001B[38;5;33mMaxPooling2D\u001B[0m) │ (\u001B[38;5;45mNone\u001B[0m, \u001B[38;5;34m64\u001B[0m, \u001B[38;5;34m64\u001B[0m, \u001B[38;5;34m32\u001B[0m) │ \u001B[38;5;34m0\u001B[0m │\n",
"├─────────────────────────────────┼────────────────────────┼───────────────┤\n",
"│ dropout_4 (\u001b[38;5;33mDropout\u001b[0m) │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m64\u001b[0m, \u001b[38;5;34m64\u001b[0m, \u001b[38;5;34m32\u001b[0m) │ \u001b[38;5;34m0\u001b[0m │\n",
"│ dropout_4 (\u001B[38;5;33mDropout\u001B[0m) │ (\u001B[38;5;45mNone\u001B[0m, \u001B[38;5;34m64\u001B[0m, \u001B[38;5;34m64\u001B[0m, \u001B[38;5;34m32\u001B[0m) │ \u001B[38;5;34m0\u001B[0m │\n",
"├─────────────────────────────────┼────────────────────────┼───────────────┤\n",
"│ conv2d_7 (\u001b[38;5;33mConv2D\u001b[0m) │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m64\u001b[0m, \u001b[38;5;34m64\u001b[0m, \u001b[38;5;34m64\u001b[0m) │ \u001b[38;5;34m18,496\u001b[0m │\n",
"│ conv2d_7 (\u001B[38;5;33mConv2D\u001B[0m) │ (\u001B[38;5;45mNone\u001B[0m, \u001B[38;5;34m64\u001B[0m, \u001B[38;5;34m64\u001B[0m, \u001B[38;5;34m64\u001B[0m) │ \u001B[38;5;34m18,496\u001B[0m │\n",
"├─────────────────────────────────┼────────────────────────┼───────────────┤\n",
"│ batch_normalization_4 │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m64\u001b[0m, \u001b[38;5;34m64\u001b[0m, \u001b[38;5;34m64\u001b[0m) │ \u001b[38;5;34m256\u001b[0m │\n",
"│ (\u001b[38;5;33mBatchNormalization\u001b[0m) │ │ │\n",
"│ batch_normalization_4 │ (\u001B[38;5;45mNone\u001B[0m, \u001B[38;5;34m64\u001B[0m, \u001B[38;5;34m64\u001B[0m, \u001B[38;5;34m64\u001B[0m) │ \u001B[38;5;34m256\u001B[0m │\n",
"│ (\u001B[38;5;33mBatchNormalization\u001B[0m) │ │ │\n",
"├─────────────────────────────────┼────────────────────────┼───────────────┤\n",
"│ conv2d_8 (\u001b[38;5;33mConv2D\u001b[0m) │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m64\u001b[0m, \u001b[38;5;34m64\u001b[0m, \u001b[38;5;34m64\u001b[0m) │ \u001b[38;5;34m36,928\u001b[0m │\n",
"│ conv2d_8 (\u001B[38;5;33mConv2D\u001B[0m) │ (\u001B[38;5;45mNone\u001B[0m, \u001B[38;5;34m64\u001B[0m, \u001B[38;5;34m64\u001B[0m, \u001B[38;5;34m64\u001B[0m) │ \u001B[38;5;34m36,928\u001B[0m │\n",
"├─────────────────────────────────┼────────────────────────┼───────────────┤\n",
"│ max_pooling2d_4 (\u001b[38;5;33mMaxPooling2D\u001b[0m) │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m32\u001b[0m, \u001b[38;5;34m32\u001b[0m, \u001b[38;5;34m64\u001b[0m) │ \u001b[38;5;34m0\u001b[0m │\n",
"│ max_pooling2d_4 (\u001B[38;5;33mMaxPooling2D\u001B[0m) │ (\u001B[38;5;45mNone\u001B[0m, \u001B[38;5;34m32\u001B[0m, \u001B[38;5;34m32\u001B[0m, \u001B[38;5;34m64\u001B[0m) │ \u001B[38;5;34m0\u001B[0m │\n",
"├─────────────────────────────────┼────────────────────────┼───────────────┤\n",
"│ dropout_5 (\u001b[38;5;33mDropout\u001b[0m) │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m32\u001b[0m, \u001b[38;5;34m32\u001b[0m, \u001b[38;5;34m64\u001b[0m) │ \u001b[38;5;34m0\u001b[0m │\n",
"│ dropout_5 (\u001B[38;5;33mDropout\u001B[0m) │ (\u001B[38;5;45mNone\u001B[0m, \u001B[38;5;34m32\u001B[0m, \u001B[38;5;34m32\u001B[0m, \u001B[38;5;34m64\u001B[0m) │ \u001B[38;5;34m0\u001B[0m │\n",
"├─────────────────────────────────┼────────────────────────┼───────────────┤\n",
"│ conv2d_9 (\u001b[38;5;33mConv2D\u001b[0m) │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m32\u001b[0m, \u001b[38;5;34m32\u001b[0m, \u001b[38;5;34m128\u001b[0m) │ \u001b[38;5;34m73,856\u001b[0m │\n",
"│ conv2d_9 (\u001B[38;5;33mConv2D\u001B[0m) │ (\u001B[38;5;45mNone\u001B[0m, \u001B[38;5;34m32\u001B[0m, \u001B[38;5;34m32\u001B[0m, \u001B[38;5;34m128\u001B[0m) │ \u001B[38;5;34m73,856\u001B[0m │\n",
"├─────────────────────────────────┼────────────────────────┼───────────────┤\n",
"│ batch_normalization_5 │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m32\u001b[0m, \u001b[38;5;34m32\u001b[0m, \u001b[38;5;34m128\u001b[0m) │ \u001b[38;5;34m512\u001b[0m │\n",
"│ (\u001b[38;5;33mBatchNormalization\u001b[0m) │ │ │\n",
"│ batch_normalization_5 │ (\u001B[38;5;45mNone\u001B[0m, \u001B[38;5;34m32\u001B[0m, \u001B[38;5;34m32\u001B[0m, \u001B[38;5;34m128\u001B[0m) │ \u001B[38;5;34m512\u001B[0m │\n",
"│ (\u001B[38;5;33mBatchNormalization\u001B[0m) │ │ │\n",
"├─────────────────────────────────┼────────────────────────┼───────────────┤\n",
"│ max_pooling2d_5 (\u001b[38;5;33mMaxPooling2D\u001b[0m) │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m16\u001b[0m, \u001b[38;5;34m16\u001b[0m, \u001b[38;5;34m128\u001b[0m) │ \u001b[38;5;34m0\u001b[0m │\n",
"│ max_pooling2d_5 (\u001B[38;5;33mMaxPooling2D\u001B[0m) │ (\u001B[38;5;45mNone\u001B[0m, \u001B[38;5;34m16\u001B[0m, \u001B[38;5;34m16\u001B[0m, \u001B[38;5;34m128\u001B[0m) │ \u001B[38;5;34m0\u001B[0m │\n",
"├─────────────────────────────────┼────────────────────────┼───────────────┤\n",
"│ dropout_6 (\u001b[38;5;33mDropout\u001b[0m) │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m16\u001b[0m, \u001b[38;5;34m16\u001b[0m, \u001b[38;5;34m128\u001b[0m) │ \u001b[38;5;34m0\u001b[0m │\n",
"│ dropout_6 (\u001B[38;5;33mDropout\u001B[0m) │ (\u001B[38;5;45mNone\u001B[0m, \u001B[38;5;34m16\u001B[0m, \u001B[38;5;34m16\u001B[0m, \u001B[38;5;34m128\u001B[0m) │ \u001B[38;5;34m0\u001B[0m │\n",
"├─────────────────────────────────┼────────────────────────┼───────────────┤\n",
"│ global_average_pooling2d_1 │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m128\u001b[0m) │ \u001b[38;5;34m0\u001b[0m │\n",
"│ (\u001b[38;5;33mGlobalAveragePooling2D\u001b[0m) │ │ │\n",
"│ global_average_pooling2d_1 │ (\u001B[38;5;45mNone\u001B[0m, \u001B[38;5;34m128\u001B[0m) │ \u001B[38;5;34m0\u001B[0m │\n",
"│ (\u001B[38;5;33mGlobalAveragePooling2D\u001B[0m) │ │ │\n",
"├─────────────────────────────────┼────────────────────────┼───────────────┤\n",
"│ dense_2 (\u001b[38;5;33mDense\u001b[0m) │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m128\u001b[0m) │ \u001b[38;5;34m16,512\u001b[0m │\n",
"│ dense_2 (\u001B[38;5;33mDense\u001B[0m) │ (\u001B[38;5;45mNone\u001B[0m, \u001B[38;5;34m128\u001B[0m) │ \u001B[38;5;34m16,512\u001B[0m │\n",
"├─────────────────────────────────┼────────────────────────┼───────────────┤\n",
"│ dropout_7 (\u001b[38;5;33mDropout\u001b[0m) │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m128\u001b[0m) │ \u001b[38;5;34m0\u001b[0m │\n",
"│ dropout_7 (\u001B[38;5;33mDropout\u001B[0m) │ (\u001B[38;5;45mNone\u001B[0m, \u001B[38;5;34m128\u001B[0m) │ \u001B[38;5;34m0\u001B[0m │\n",
"├─────────────────────────────────┼────────────────────────┼───────────────┤\n",
"│ dense_3 (\u001b[38;5;33mDense\u001b[0m) │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m5\u001b[0m) │ \u001b[38;5;34m645\u001b[0m │\n",
"│ dense_3 (\u001B[38;5;33mDense\u001B[0m) │ (\u001B[38;5;45mNone\u001B[0m, \u001B[38;5;34m5\u001B[0m) │ \u001B[38;5;34m645\u001B[0m │\n",
"└─────────────────────────────────┴────────────────────────┴───────────────┘\n"
]
},
@@ -281,7 +281,7 @@
"</pre>\n"
],
"text/plain": [
"\u001b[1m Total params: \u001b[0m\u001b[38;5;34m157,477\u001b[0m (615.14 KB)\n"
"\u001B[1m Total params: \u001B[0m\u001B[38;5;34m157,477\u001B[0m (615.14 KB)\n"
]
},
"metadata": {},
@@ -294,7 +294,7 @@
"</pre>\n"
],
"text/plain": [
"\u001b[1m Trainable params: \u001b[0m\u001b[38;5;34m157,029\u001b[0m (613.39 KB)\n"
"\u001B[1m Trainable params: \u001B[0m\u001B[38;5;34m157,029\u001B[0m (613.39 KB)\n"
]
},
"metadata": {},
@@ -307,7 +307,7 @@
"</pre>\n"
],
"text/plain": [
"\u001b[1m Non-trainable params: \u001b[0m\u001b[38;5;34m448\u001b[0m (1.75 KB)\n"
"\u001B[1m Non-trainable params: \u001B[0m\u001B[38;5;34m448\u001B[0m (1.75 KB)\n"
]
},
"metadata": {},
@@ -356,14 +356,15 @@
"source": [
"### 4. Обучение модели с учителем\n",
"\n",
"На этом этапе происходит обучение глубокой сверточной нейросети на обучающей выборке изображений персонажей. Модель использует функцию потерь `categorical_crossentropy` и оптимизатор `Adam` с начальными параметрами обучения.\n",
"На этом этапе осуществляется обучение глубокой сверточной нейросети на изображениях из обучающей выборки.\n",
"Для оптимизации используется функция потерь `categorical_crossentropy` и оптимизатор `Adam` с базовыми параметрами.\n",
"\n",
"#### Основные параметры обучения:\n",
"#### Ключевые параметры обучения:\n",
"- **Количество эпох:** 30\n",
"- **Размер пакета (batch_size):** 16\n",
"- **Validation Split:** 20% от обучающей выборки\n",
"- **EarlyStopping:** завершает обучение, если валидационная точность не улучшается 5 эпох подряд\n",
"- **ReduceLROnPlateau:** снижает скорость обучения вдвое, если точность не улучшается 3 эпохи"
"- **Размер батча (batch_size):** 16\n",
"- **Validation Split:** 20% от обучающей выборки используется для валидации\n",
"- **EarlyStopping:** прекращает обучение, если валидационная точность не улучшается в течение 5 последовательных эпох\n",
"- **ReduceLROnPlateau:** уменьшает скорость обучения в 2 раза, если валидационная точность не повышается на протяжении 3 эпох\n"
]
},
{
@@ -376,27 +377,27 @@
"output_type": "stream",
"text": [
"Epoch 1/30\n",
"\u001b[1m9/9\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m4s\u001b[0m 229ms/step - accuracy: 0.2093 - loss: 2.0187 - val_accuracy: 0.1515 - val_loss: 1.6075 - learning_rate: 5.0000e-04\n",
"\u001B[1m9/9\u001B[0m \u001B[32m━━━━━━━━━━━━━━━━━━━━\u001B[0m\u001B[37m\u001B[0m \u001B[1m4s\u001B[0m 229ms/step - accuracy: 0.2093 - loss: 2.0187 - val_accuracy: 0.1515 - val_loss: 1.6075 - learning_rate: 5.0000e-04\n",
"Epoch 2/30\n",
"\u001b[1m9/9\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 196ms/step - accuracy: 0.3008 - loss: 1.7210 - val_accuracy: 0.2121 - val_loss: 1.6078 - learning_rate: 5.0000e-04\n",
"\u001B[1m9/9\u001B[0m \u001B[32m━━━━━━━━━━━━━━━━━━━━\u001B[0m\u001B[37m\u001B[0m \u001B[1m2s\u001B[0m 196ms/step - accuracy: 0.3008 - loss: 1.7210 - val_accuracy: 0.2121 - val_loss: 1.6078 - learning_rate: 5.0000e-04\n",
"Epoch 3/30\n",
"\u001b[1m9/9\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 190ms/step - accuracy: 0.3375 - loss: 1.5908 - val_accuracy: 0.3030 - val_loss: 1.6024 - learning_rate: 5.0000e-04\n",
"\u001B[1m9/9\u001B[0m \u001B[32m━━━━━━━━━━━━━━━━━━━━\u001B[0m\u001B[37m\u001B[0m \u001B[1m2s\u001B[0m 190ms/step - accuracy: 0.3375 - loss: 1.5908 - val_accuracy: 0.3030 - val_loss: 1.6024 - learning_rate: 5.0000e-04\n",
"Epoch 4/30\n",
"\u001b[1m9/9\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 188ms/step - accuracy: 0.5399 - loss: 1.2299 - val_accuracy: 0.2424 - val_loss: 1.5972 - learning_rate: 5.0000e-04\n",
"\u001B[1m9/9\u001B[0m \u001B[32m━━━━━━━━━━━━━━━━━━━━\u001B[0m\u001B[37m\u001B[0m \u001B[1m2s\u001B[0m 188ms/step - accuracy: 0.5399 - loss: 1.2299 - val_accuracy: 0.2424 - val_loss: 1.5972 - learning_rate: 5.0000e-04\n",
"Epoch 5/30\n",
"\u001b[1m9/9\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 190ms/step - accuracy: 0.5078 - loss: 1.2993 - val_accuracy: 0.2424 - val_loss: 1.5932 - learning_rate: 5.0000e-04\n",
"\u001B[1m9/9\u001B[0m \u001B[32m━━━━━━━━━━━━━━━━━━━━\u001B[0m\u001B[37m\u001B[0m \u001B[1m2s\u001B[0m 190ms/step - accuracy: 0.5078 - loss: 1.2993 - val_accuracy: 0.2424 - val_loss: 1.5932 - learning_rate: 5.0000e-04\n",
"Epoch 6/30\n",
"\u001b[1m9/9\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 188ms/step - accuracy: 0.3995 - loss: 1.3674 - val_accuracy: 0.2424 - val_loss: 1.5935 - learning_rate: 5.0000e-04\n",
"\u001B[1m9/9\u001B[0m \u001B[32m━━━━━━━━━━━━━━━━━━━━\u001B[0m\u001B[37m\u001B[0m \u001B[1m2s\u001B[0m 188ms/step - accuracy: 0.3995 - loss: 1.3674 - val_accuracy: 0.2424 - val_loss: 1.5935 - learning_rate: 5.0000e-04\n",
"Epoch 7/30\n",
"\u001b[1m9/9\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 192ms/step - accuracy: 0.5779 - loss: 1.1325 - val_accuracy: 0.2424 - val_loss: 1.5975 - learning_rate: 5.0000e-04\n",
"\u001B[1m9/9\u001B[0m \u001B[32m━━━━━━━━━━━━━━━━━━━━\u001B[0m\u001B[37m\u001B[0m \u001B[1m2s\u001B[0m 192ms/step - accuracy: 0.5779 - loss: 1.1325 - val_accuracy: 0.2424 - val_loss: 1.5975 - learning_rate: 5.0000e-04\n",
"Epoch 8/30\n",
"\u001b[1m8/9\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m━━━\u001b[0m \u001b[1m0s\u001b[0m 212ms/step - accuracy: 0.4751 - loss: 1.1584\n",
"\u001B[1m8/9\u001B[0m \u001B[32m━━━━━━━━━━━━━━━━━\u001B[0m\u001B[37m━━━\u001B[0m \u001B[1m0s\u001B[0m 212ms/step - accuracy: 0.4751 - loss: 1.1584\n",
"Epoch 8: ReduceLROnPlateau reducing learning rate to 0.0002500000118743628.\n",
"\u001b[1m9/9\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 207ms/step - accuracy: 0.4846 - loss: 1.1571 - val_accuracy: 0.2424 - val_loss: 1.6074 - learning_rate: 5.0000e-04\n",
"\u001B[1m9/9\u001B[0m \u001B[32m━━━━━━━━━━━━━━━━━━━━\u001B[0m\u001B[37m\u001B[0m \u001B[1m2s\u001B[0m 207ms/step - accuracy: 0.4846 - loss: 1.1571 - val_accuracy: 0.2424 - val_loss: 1.6074 - learning_rate: 5.0000e-04\n",
"Epoch 9/30\n",
"\u001b[1m9/9\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 205ms/step - accuracy: 0.5079 - loss: 1.2032 - val_accuracy: 0.2424 - val_loss: 1.6175 - learning_rate: 2.5000e-04\n",
"\u001B[1m9/9\u001B[0m \u001B[32m━━━━━━━━━━━━━━━━━━━━\u001B[0m\u001B[37m\u001B[0m \u001B[1m2s\u001B[0m 205ms/step - accuracy: 0.5079 - loss: 1.2032 - val_accuracy: 0.2424 - val_loss: 1.6175 - learning_rate: 2.5000e-04\n",
"Epoch 10/30\n",
"\u001b[1m9/9\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 206ms/step - accuracy: 0.5633 - loss: 1.1514 - val_accuracy: 0.2424 - val_loss: 1.6290 - learning_rate: 2.5000e-04\n"
"\u001B[1m9/9\u001B[0m \u001B[32m━━━━━━━━━━━━━━━━━━━━\u001B[0m\u001B[37m\u001B[0m \u001B[1m2s\u001B[0m 206ms/step - accuracy: 0.5633 - loss: 1.1514 - val_accuracy: 0.2424 - val_loss: 1.6290 - learning_rate: 2.5000e-04\n"
]
}
],
@@ -465,7 +466,7 @@
"name": "stdout",
"output_type": "stream",
"text": [
"\u001b[1m2/2\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 144ms/step\n",
"\u001B[1m2/2\u001B[0m \u001B[32m━━━━━━━━━━━━━━━━━━━━\u001B[0m\u001B[37m\u001B[0m \u001B[1m0s\u001B[0m 144ms/step\n",
"=== Отчёт по классификации (Deep CNN, ЛР12) ===\n",
" precision recall f1-score support\n",
"\n",
@@ -1071,25 +1072,25 @@
"name": "stdout",
"output_type": "stream",
"text": [
"\u001b[1m1/1\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 778ms/step - accuracy: 0.5000 - loss: 0.6846 - val_accuracy: 1.0000 - val_loss: 0.6748\n",
"\u001B[1m1/1\u001B[0m \u001B[32m━━━━━━━━━━━━━━━━━━━━\u001B[0m\u001B[37m\u001B[0m \u001B[1m1s\u001B[0m 778ms/step - accuracy: 0.5000 - loss: 0.6846 - val_accuracy: 1.0000 - val_loss: 0.6748\n",
"Epoch 2/10\n",
"\u001b[1m1/1\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 72ms/step - accuracy: 1.0000 - loss: 0.4548 - val_accuracy: 1.0000 - val_loss: 0.6717\n",
"\u001B[1m1/1\u001B[0m \u001B[32m━━━━━━━━━━━━━━━━━━━━\u001B[0m\u001B[37m\u001B[0m \u001B[1m0s\u001B[0m 72ms/step - accuracy: 1.0000 - loss: 0.4548 - val_accuracy: 1.0000 - val_loss: 0.6717\n",
"Epoch 3/10\n",
"\u001b[1m1/1\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 69ms/step - accuracy: 1.0000 - loss: 0.2441 - val_accuracy: 1.0000 - val_loss: 0.6677\n",
"\u001B[1m1/1\u001B[0m \u001B[32m━━━━━━━━━━━━━━━━━━━━\u001B[0m\u001B[37m\u001B[0m \u001B[1m0s\u001B[0m 69ms/step - accuracy: 1.0000 - loss: 0.2441 - val_accuracy: 1.0000 - val_loss: 0.6677\n",
"Epoch 4/10\n",
"\u001b[1m1/1\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 68ms/step - accuracy: 1.0000 - loss: 0.0710 - val_accuracy: 1.0000 - val_loss: 0.6636\n",
"\u001B[1m1/1\u001B[0m \u001B[32m━━━━━━━━━━━━━━━━━━━━\u001B[0m\u001B[37m\u001B[0m \u001B[1m0s\u001B[0m 68ms/step - accuracy: 1.0000 - loss: 0.0710 - val_accuracy: 1.0000 - val_loss: 0.6636\n",
"Epoch 5/10\n",
"\u001b[1m1/1\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 73ms/step - accuracy: 1.0000 - loss: 0.0263 - val_accuracy: 1.0000 - val_loss: 0.6598\n",
"\u001B[1m1/1\u001B[0m \u001B[32m━━━━━━━━━━━━━━━━━━━━\u001B[0m\u001B[37m\u001B[0m \u001B[1m0s\u001B[0m 73ms/step - accuracy: 1.0000 - loss: 0.0263 - val_accuracy: 1.0000 - val_loss: 0.6598\n",
"Epoch 6/10\n",
"\u001b[1m1/1\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 74ms/step - accuracy: 1.0000 - loss: 0.0256 - val_accuracy: 1.0000 - val_loss: 0.6566\n",
"\u001B[1m1/1\u001B[0m \u001B[32m━━━━━━━━━━━━━━━━━━━━\u001B[0m\u001B[37m\u001B[0m \u001B[1m0s\u001B[0m 74ms/step - accuracy: 1.0000 - loss: 0.0256 - val_accuracy: 1.0000 - val_loss: 0.6566\n",
"Epoch 7/10\n",
"\u001b[1m1/1\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 69ms/step - accuracy: 1.0000 - loss: 0.0261 - val_accuracy: 1.0000 - val_loss: 0.6535\n",
"\u001B[1m1/1\u001B[0m \u001B[32m━━━━━━━━━━━━━━━━━━━━\u001B[0m\u001B[37m\u001B[0m \u001B[1m0s\u001B[0m 69ms/step - accuracy: 1.0000 - loss: 0.0261 - val_accuracy: 1.0000 - val_loss: 0.6535\n",
"Epoch 8/10\n",
"\u001b[1m1/1\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 69ms/step - accuracy: 1.0000 - loss: 0.0050 - val_accuracy: 1.0000 - val_loss: 0.6506\n",
"\u001B[1m1/1\u001B[0m \u001B[32m━━━━━━━━━━━━━━━━━━━━\u001B[0m\u001B[37m\u001B[0m \u001B[1m0s\u001B[0m 69ms/step - accuracy: 1.0000 - loss: 0.0050 - val_accuracy: 1.0000 - val_loss: 0.6506\n",
"Epoch 9/10\n",
"\u001b[1m1/1\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 67ms/step - accuracy: 1.0000 - loss: 0.0194 - val_accuracy: 1.0000 - val_loss: 0.6479\n",
"\u001B[1m1/1\u001B[0m \u001B[32m━━━━━━━━━━━━━━━━━━━━\u001B[0m\u001B[37m\u001B[0m \u001B[1m0s\u001B[0m 67ms/step - accuracy: 1.0000 - loss: 0.0194 - val_accuracy: 1.0000 - val_loss: 0.6479\n",
"Epoch 10/10\n",
"\u001b[1m1/1\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 69ms/step - accuracy: 1.0000 - loss: 0.0038 - val_accuracy: 1.0000 - val_loss: 0.6454\n"
"\u001B[1m1/1\u001B[0m \u001B[32m━━━━━━━━━━━━━━━━━━━━\u001B[0m\u001B[37m\u001B[0m \u001B[1m0s\u001B[0m 69ms/step - accuracy: 1.0000 - loss: 0.0038 - val_accuracy: 1.0000 - val_loss: 0.6454\n"
]
},
{
@@ -1196,25 +1197,25 @@
"output_type": "stream",
"text": [
"Epoch 1/10\n",
"\u001b[1m1/1\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 890ms/step - accuracy: 0.0000e+00 - loss: 0.7120 - val_accuracy: 1.0000 - val_loss: 0.5799\n",
"\u001B[1m1/1\u001B[0m \u001B[32m━━━━━━━━━━━━━━━━━━━━\u001B[0m\u001B[37m\u001B[0m \u001B[1m1s\u001B[0m 890ms/step - accuracy: 0.0000e+00 - loss: 0.7120 - val_accuracy: 1.0000 - val_loss: 0.5799\n",
"Epoch 2/10\n",
"\u001b[1m1/1\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 65ms/step - accuracy: 1.0000 - loss: 0.5838 - val_accuracy: 1.0000 - val_loss: 0.4574\n",
"\u001B[1m1/1\u001B[0m \u001B[32m━━━━━━━━━━━━━━━━━━━━\u001B[0m\u001B[37m\u001B[0m \u001B[1m0s\u001B[0m 65ms/step - accuracy: 1.0000 - loss: 0.5838 - val_accuracy: 1.0000 - val_loss: 0.4574\n",
"Epoch 3/10\n",
"\u001b[1m1/1\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 64ms/step - accuracy: 1.0000 - loss: 0.4084 - val_accuracy: 1.0000 - val_loss: 0.3450\n",
"\u001B[1m1/1\u001B[0m \u001B[32m━━━━━━━━━━━━━━━━━━━━\u001B[0m\u001B[37m\u001B[0m \u001B[1m0s\u001B[0m 64ms/step - accuracy: 1.0000 - loss: 0.4084 - val_accuracy: 1.0000 - val_loss: 0.3450\n",
"Epoch 4/10\n",
"\u001b[1m1/1\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 64ms/step - accuracy: 1.0000 - loss: 0.2407 - val_accuracy: 1.0000 - val_loss: 0.2507\n",
"\u001B[1m1/1\u001B[0m \u001B[32m━━━━━━━━━━━━━━━━━━━━\u001B[0m\u001B[37m\u001B[0m \u001B[1m0s\u001B[0m 64ms/step - accuracy: 1.0000 - loss: 0.2407 - val_accuracy: 1.0000 - val_loss: 0.2507\n",
"Epoch 5/10\n",
"\u001b[1m1/1\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 67ms/step - accuracy: 1.0000 - loss: 0.2750 - val_accuracy: 1.0000 - val_loss: 0.1743\n",
"\u001B[1m1/1\u001B[0m \u001B[32m━━━━━━━━━━━━━━━━━━━━\u001B[0m\u001B[37m\u001B[0m \u001B[1m0s\u001B[0m 67ms/step - accuracy: 1.0000 - loss: 0.2750 - val_accuracy: 1.0000 - val_loss: 0.1743\n",
"Epoch 6/10\n",
"\u001b[1m1/1\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 64ms/step - accuracy: 1.0000 - loss: 0.1486 - val_accuracy: 1.0000 - val_loss: 0.1165\n",
"\u001B[1m1/1\u001B[0m \u001B[32m━━━━━━━━━━━━━━━━━━━━\u001B[0m\u001B[37m\u001B[0m \u001B[1m0s\u001B[0m 64ms/step - accuracy: 1.0000 - loss: 0.1486 - val_accuracy: 1.0000 - val_loss: 0.1165\n",
"Epoch 7/10\n",
"\u001b[1m1/1\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 64ms/step - accuracy: 1.0000 - loss: 0.0380 - val_accuracy: 1.0000 - val_loss: 0.0765\n",
"\u001B[1m1/1\u001B[0m \u001B[32m━━━━━━━━━━━━━━━━━━━━\u001B[0m\u001B[37m\u001B[0m \u001B[1m0s\u001B[0m 64ms/step - accuracy: 1.0000 - loss: 0.0380 - val_accuracy: 1.0000 - val_loss: 0.0765\n",
"Epoch 8/10\n",
"\u001b[1m1/1\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 62ms/step - accuracy: 1.0000 - loss: 0.0332 - val_accuracy: 1.0000 - val_loss: 0.0491\n",
"\u001B[1m1/1\u001B[0m \u001B[32m━━━━━━━━━━━━━━━━━━━━\u001B[0m\u001B[37m\u001B[0m \u001B[1m0s\u001B[0m 62ms/step - accuracy: 1.0000 - loss: 0.0332 - val_accuracy: 1.0000 - val_loss: 0.0491\n",
"Epoch 9/10\n",
"\u001b[1m1/1\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 61ms/step - accuracy: 1.0000 - loss: 0.0363 - val_accuracy: 1.0000 - val_loss: 0.0309\n",
"\u001B[1m1/1\u001B[0m \u001B[32m━━━━━━━━━━━━━━━━━━━━\u001B[0m\u001B[37m\u001B[0m \u001B[1m0s\u001B[0m 61ms/step - accuracy: 1.0000 - loss: 0.0363 - val_accuracy: 1.0000 - val_loss: 0.0309\n",
"Epoch 10/10\n",
"\u001b[1m1/1\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 67ms/step - accuracy: 1.0000 - loss: 0.0071 - val_accuracy: 1.0000 - val_loss: 0.0196\n"
"\u001B[1m1/1\u001B[0m \u001B[32m━━━━━━━━━━━━━━━━━━━━\u001B[0m\u001B[37m\u001B[0m \u001B[1m0s\u001B[0m 67ms/step - accuracy: 1.0000 - loss: 0.0071 - val_accuracy: 1.0000 - val_loss: 0.0196\n"
]
},
{
@@ -1307,25 +1308,25 @@
"output_type": "stream",
"text": [
"Epoch 1/10\n",
"\u001b[1m1/1\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1s/step - accuracy: 0.5000 - loss: 0.6928 - val_accuracy: 1.0000 - val_loss: 0.6851\n",
"\u001B[1m1/1\u001B[0m \u001B[32m━━━━━━━━━━━━━━━━━━━━\u001B[0m\u001B[37m\u001B[0m \u001B[1m1s\u001B[0m 1s/step - accuracy: 0.5000 - loss: 0.6928 - val_accuracy: 1.0000 - val_loss: 0.6851\n",
"Epoch 2/10\n",
"\u001b[1m1/1\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 81ms/step - accuracy: 1.0000 - loss: 0.6825 - val_accuracy: 1.0000 - val_loss: 0.6799\n",
"\u001B[1m1/1\u001B[0m \u001B[32m━━━━━━━━━━━━━━━━━━━━\u001B[0m\u001B[37m\u001B[0m \u001B[1m0s\u001B[0m 81ms/step - accuracy: 1.0000 - loss: 0.6825 - val_accuracy: 1.0000 - val_loss: 0.6799\n",
"Epoch 3/10\n",
"\u001b[1m1/1\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 80ms/step - accuracy: 1.0000 - loss: 0.6838 - val_accuracy: 1.0000 - val_loss: 0.6745\n",
"\u001B[1m1/1\u001B[0m \u001B[32m━━━━━━━━━━━━━━━━━━━━\u001B[0m\u001B[37m\u001B[0m \u001B[1m0s\u001B[0m 80ms/step - accuracy: 1.0000 - loss: 0.6838 - val_accuracy: 1.0000 - val_loss: 0.6745\n",
"Epoch 4/10\n",
"\u001b[1m1/1\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 85ms/step - accuracy: 1.0000 - loss: 0.6664 - val_accuracy: 1.0000 - val_loss: 0.6690\n",
"\u001B[1m1/1\u001B[0m \u001B[32m━━━━━━━━━━━━━━━━━━━━\u001B[0m\u001B[37m\u001B[0m \u001B[1m0s\u001B[0m 85ms/step - accuracy: 1.0000 - loss: 0.6664 - val_accuracy: 1.0000 - val_loss: 0.6690\n",
"Epoch 5/10\n",
"\u001b[1m1/1\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 81ms/step - accuracy: 1.0000 - loss: 0.6671 - val_accuracy: 1.0000 - val_loss: 0.6634\n",
"\u001B[1m1/1\u001B[0m \u001B[32m━━━━━━━━━━━━━━━━━━━━\u001B[0m\u001B[37m\u001B[0m \u001B[1m0s\u001B[0m 81ms/step - accuracy: 1.0000 - loss: 0.6671 - val_accuracy: 1.0000 - val_loss: 0.6634\n",
"Epoch 6/10\n",
"\u001b[1m1/1\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 80ms/step - accuracy: 1.0000 - loss: 0.6534 - val_accuracy: 1.0000 - val_loss: 0.6569\n",
"\u001B[1m1/1\u001B[0m \u001B[32m━━━━━━━━━━━━━━━━━━━━\u001B[0m\u001B[37m\u001B[0m \u001B[1m0s\u001B[0m 80ms/step - accuracy: 1.0000 - loss: 0.6534 - val_accuracy: 1.0000 - val_loss: 0.6569\n",
"Epoch 7/10\n",
"\u001b[1m1/1\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 79ms/step - accuracy: 1.0000 - loss: 0.6382 - val_accuracy: 1.0000 - val_loss: 0.6495\n",
"\u001B[1m1/1\u001B[0m \u001B[32m━━━━━━━━━━━━━━━━━━━━\u001B[0m\u001B[37m\u001B[0m \u001B[1m0s\u001B[0m 79ms/step - accuracy: 1.0000 - loss: 0.6382 - val_accuracy: 1.0000 - val_loss: 0.6495\n",
"Epoch 8/10\n",
"\u001b[1m1/1\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 80ms/step - accuracy: 1.0000 - loss: 0.6376 - val_accuracy: 1.0000 - val_loss: 0.6413\n",
"\u001B[1m1/1\u001B[0m \u001B[32m━━━━━━━━━━━━━━━━━━━━\u001B[0m\u001B[37m\u001B[0m \u001B[1m0s\u001B[0m 80ms/step - accuracy: 1.0000 - loss: 0.6376 - val_accuracy: 1.0000 - val_loss: 0.6413\n",
"Epoch 9/10\n",
"\u001b[1m1/1\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 79ms/step - accuracy: 1.0000 - loss: 0.6140 - val_accuracy: 1.0000 - val_loss: 0.6315\n",
"\u001B[1m1/1\u001B[0m \u001B[32m━━━━━━━━━━━━━━━━━━━━\u001B[0m\u001B[37m\u001B[0m \u001B[1m0s\u001B[0m 79ms/step - accuracy: 1.0000 - loss: 0.6140 - val_accuracy: 1.0000 - val_loss: 0.6315\n",
"Epoch 10/10\n",
"\u001b[1m1/1\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 80ms/step - accuracy: 1.0000 - loss: 0.6085 - val_accuracy: 1.0000 - val_loss: 0.6201\n"
"\u001B[1m1/1\u001B[0m \u001B[32m━━━━━━━━━━━━━━━━━━━━\u001B[0m\u001B[37m\u001B[0m \u001B[1m0s\u001B[0m 80ms/step - accuracy: 1.0000 - loss: 0.6085 - val_accuracy: 1.0000 - val_loss: 0.6201\n"
]
},
{
@@ -1384,7 +1385,7 @@
"name": "stdout",
"output_type": "stream",
"text": [
"\u001b[1m1/1\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 51ms/step\n",
"\u001B[1m1/1\u001B[0m \u001B[32m━━━━━━━━━━━━━━━━━━━━\u001B[0m\u001B[37m\u001B[0m \u001B[1m0s\u001B[0m 51ms/step\n",
"=== Dense ===\n",
" precision recall f1-score support\n",
"\n",
@@ -1394,7 +1395,7 @@
" macro avg 1.00 1.00 1.00 2\n",
"weighted avg 1.00 1.00 1.00 2\n",
"\n",
"\u001b[1m1/1\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 53ms/step\n",
"\u001B[1m1/1\u001B[0m \u001B[32m━━━━━━━━━━━━━━━━━━━━\u001B[0m\u001B[37m\u001B[0m \u001B[1m0s\u001B[0m 53ms/step\n",
"=== CNN ===\n",
" precision recall f1-score support\n",
"\n",
@@ -1404,7 +1405,7 @@
" macro avg 1.00 1.00 1.00 2\n",
"weighted avg 1.00 1.00 1.00 2\n",
"\n",
"\u001b[1m1/1\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 107ms/step\n",
"\u001B[1m1/1\u001B[0m \u001B[32m━━━━━━━━━━━━━━━━━━━━\u001B[0m\u001B[37m\u001B[0m \u001B[1m0s\u001B[0m 107ms/step\n",
"=== RNN ===\n",
" precision recall f1-score support\n",
"\n",