Why keras accuracy and loss are not changing between epochs and how to fix

26 Views Asked by At

This is my code:

from tensorflow import keras
import numpy as np
import matplotlib.pyplot as plt

x_train, y_train), (x_test, y_test) = keras.datasets.cifar100.load_data()

num_of_class = 100
y_train = keras.utils.to_categorical(y_train, num_of_class)
y_test = keras.utils.to_categorical(y_test, num_of_class)

x_train = x_train.astype(float) / 255.0
x_test = x_test.astype(float) / 255.0

model_2 = keras.Sequential()
model_2.add(keras.layers.Input(shape=x_train[0].shape))
model_2.add(keras.layers.Conv2D(filters=256, kernel_size=(3,3), activation='ReLU'))
model_2.add(keras.layers.Conv2D(filters=256, kernel_size=(3,3), activation='ReLU'))
model_2.add(keras.layers.Conv2D(filters=256, kernel_size=(3,3), activation='ReLU'))
model_2.add(keras.layers.Conv2D(filters=256, kernel_size=(3,3), activation='ReLU'))
model_2.add(keras.layers.Conv2D(filters=256, kernel_size=(3,3), strides=(2,2), activation='ReLU'))
model_2.add(keras.layers.MaxPooling2D(pool_size=(2, 2)))
model_2.add(keras.layers.Flatten(input_shape=x_train[0].shape))
model_2.add(keras.layers.Dense(units=num_of_class, activation='softmax'))

model_2.compile(loss='categorical_crossentropy', optimizer='adam', metrics=['accuracy'])

history_2 = model_1.fit(x_train, y_train, batch_size=512, epochs=50, validation_data=(x_test, y_test),   shuffle=True)`

Actually I'm new to machine learning and computer vision. I just wanted to try this code for classifying the cifar100 pictures, yet what happened was disappointing. Through all 50 epochs I have this

loss: 0.0100 - accuracy: 0.0100 - val_loss: 0.0100 - val_accuracy: 0.0100

1

There are 1 best solutions below

0
On

Model_1 is undefined. If you want to train your model you defined it as model_2

model_2.fit(x_train, y_train, batch_size=512, epochs=50, validation_data=(x_test, y_test), shuffle=True)

Also there are a few syntax errors