# Importing the necessary libraries
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import os
import keras
import seaborn as sns
import tensorflow as tf
from sklearn.model_selection import train_test_split
from tensorflow.keras.preprocessing.image import ImageDataGenerator
from tensorflow.keras import Input
from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Conv2D, MaxPooling2D, Flatten, Dense, Dropout
from sklearn.metrics import classification_report, confusion_matrix
from tensorflow.keras.utils import load_img, img_to_array
from tensorflow.keras.applications import VGG16
from tensorflow.keras.models import Model
from tensorflow.keras.preprocessing import image
from tensorflow.keras.layers import BatchNormalization
from tensorflow.keras.callbacks import ReduceLROnPlateau
from tensorflow.keras.callbacks import EarlyStopping
from tensorflow.keras.optimizers import Adam
from google.colab import drive
# Dataset Loading
drive.mount('/content/drive')
train_dir = '/content/drive/MyDrive/CSE427/Project/Dataset/New Train'
test_dir = '/content/drive/MyDrive/CSE427/Project/Dataset/New Test'
# Preprocessing data & Data augmentation
train_datagen = ImageDataGenerator(
rescale=1./255,
shear_range=0.2,
zoom_range=0.2,
horizontal_flip=True,
rotation_range=30,
brightness_range=(0.8, 1.2),
width_shift_range=0.2,
height_shift_range=0.2,
channel_shift_range=30)
test_datagen = ImageDataGenerator(rescale=1./255)
train_generator = train_datagen.flow_from_directory(
train_dir,
target_size=(128, 128),
batch_size=32,
class_mode='binary')
validation_generator = test_datagen.flow_from_directory(
test_dir,
target_size=(128, 128),
batch_size=32,
class_mode='binary')
print('\n',train_generator.class_indices)
# Build a Custom CNN model
from tensorflow.keras.regularizers import l2
model = Sequential([
Input(shape=(128, 128, 3)),
Conv2D(32, (3, 3), activation='relu'),
BatchNormalization(),
MaxPooling2D(pool_size=(2, 2)),
Dropout(0.3),
Conv2D(64, (3, 3), activation='relu'),
BatchNormalization(),
MaxPooling2D(pool_size=(2, 2)),
Dropout(0.3),
Conv2D(128, (3, 3), activation='relu'),
BatchNormalization(),
MaxPooling2D(pool_size=(2, 2)),
Flatten(),
Dense(128, activation='relu', kernel_regularizer=l2(0.01)),
Dropout(0.5),
Dense(1, activation='sigmoid')
])
model.compile(optimizer='adam', loss='binary_crossentropy', metrics=['accuracy'])
# Train the model
lr_scheduler = ReduceLROnPlateau(monitor='val_loss', factor=0.5, patience=5, min_lr=1e-6, verbose=1)
early_stopping = EarlyStopping(monitor='val_loss', patience=5, restore_best_weights=True, verbose=1)
history = model.fit(
train_generator,
steps_per_epoch=len(train_generator),
epochs=30,
validation_data=validation_generator,
validation_steps=len(validation_generator),
callbacks=[early_stopping, lr_scheduler])
# Evaluate the model on test data
test_loss, test_acc = model.evaluate(validation_generator)
print(f"Test accuracy: {test_acc*100}%")
Пожалуйста, помогите мне выяснить, правильна ли реализация модели. Я новичок в этой области. Я много пробовал, но не смог решить проблему. Но за одну итерацию это дало точность 91,3%. Я классифицирую подходящие и неподходящие автобусы на основе изображений. Обучающие изображения — 482, валидационные — 46
введите здесь описание изображения введите здесь описание изображения [code] # Importing the necessary libraries
import numpy as np import pandas as pd import matplotlib.pyplot as plt import os import keras import seaborn as sns import tensorflow as tf from sklearn.model_selection import train_test_split from tensorflow.keras.preprocessing.image import ImageDataGenerator from tensorflow.keras import Input from tensorflow.keras.models import Sequential from tensorflow.keras.layers import Conv2D, MaxPooling2D, Flatten, Dense, Dropout from sklearn.metrics import classification_report, confusion_matrix from tensorflow.keras.utils import load_img, img_to_array from tensorflow.keras.applications import VGG16 from tensorflow.keras.models import Model from tensorflow.keras.preprocessing import image from tensorflow.keras.layers import BatchNormalization from tensorflow.keras.callbacks import ReduceLROnPlateau from tensorflow.keras.callbacks import EarlyStopping from tensorflow.keras.optimizers import Adam from google.colab import drive
# Train the model lr_scheduler = ReduceLROnPlateau(monitor='val_loss', factor=0.5, patience=5, min_lr=1e-6, verbose=1) early_stopping = EarlyStopping(monitor='val_loss', patience=5, restore_best_weights=True, verbose=1)
history = model.fit( train_generator, steps_per_epoch=len(train_generator), epochs=30, validation_data=validation_generator, validation_steps=len(validation_generator), callbacks=[early_stopping, lr_scheduler])
# Evaluate the model on test data test_loss, test_acc = model.evaluate(validation_generator) print(f"Test accuracy: {test_acc*100}%") [/code] Пожалуйста, помогите мне выяснить, правильна ли реализация модели. Я новичок в этой области. Я много пробовал, но не смог решить проблему. Но за одну итерацию это дало точность 91,3%. Я классифицирую подходящие и неподходящие автобусы на основе изображений. Обучающие изображения — 482, валидационные — 46
Моя нейронная сеть
def buildModel(optimizer):
model = tf.keras.models.Sequential( )
model.compile(loss='categorical_crossentropy', optimizer=optimizer, metrics= )
return model
function st_makeenvelope (двойная точность, двойная точность, двойная точность, двойная точность, целое число) не существует
Подсказка: Никакая функция не соответствует данным имени и типам аргументов. Вам может потребоваться добавить явные типы....
Я создаваю модель Seedencetransformer ('All-Minilm-L6-V2'), используя словарь (JSON) с названием Category_Descriptions в качестве набора данных.
Ниже приведен Структура данных Category_descriptions :
{
CategoryA : {
CategorySearch : Description...
Я создаваю модель Seedencetransformer ('All-Minilm-L6-V2'), используя словарь (JSON) с названием Category_Descriptions в качестве набора данных.
Ниже приведен Структура данных Category_descriptions :
{
CategoryA : {
CategorySearch : Description...
Матрица путаницы показывает, как реальные метки сравниваются с прогнозируемыми метками для задачи двоичной классификации.
Используя матрицу путаницы, вычислите следующее:
Точность: какая часть прогнозов оказалась верной?
Точность: какая доля...