program 5
program 5
# Load dataset
dataset_name = 'cats_vs_dogs'
dataset_name,
split=['train[:80%]', 'train[80%:]'],
# Data preprocessing
IMG_SIZE = 150
train_dataset = data_train.map(preprocess_image).shuffle(1000).batch(32).prefetch(1)
test_dataset = data_test.map(preprocess_image).batch(32).prefetch(1)
plt.figure(figsize=(12, 8))
ax = plt.subplot(1, n_samples, i + 1)
plt.imshow(image.numpy())
plt.axis('off')
plt.show()
plot_samples(data_train.map(preprocess_image))
model = Sequential([
MaxPooling2D(2, 2),
MaxPooling2D(2, 2),
MaxPooling2D(2, 2),
Flatten(),
Dense(512, activation='relu'),
Dropout(0.5),
])
model.compile(optimizer='adam',
loss='binary_crossentropy',
metrics=['accuracy'])
history = model.fit(
train_dataset,
validation_data=test_dataset,
epochs=10
)
# Evaluate the model
acc = history.history['accuracy']
val_acc = history.history['val_accuracy']
loss = history.history['loss']
val_loss = history.history['val_loss']
epochs = range(len(acc))
plt.figure(figsize=(12, 8))
plt.legend()
plt.figure(figsize=(12, 8))
plt.legend()
plt.show()