0% found this document useful (0 votes)
11 views20 pages

C2 W1

The document outlines a machine learning project using TensorFlow to classify images of dogs and cats. It describes the process of loading image datasets, creating a convolutional neural network model, and training the model with specified parameters. The model architecture includes several convolutional and pooling layers, followed by dense layers, and is compiled with binary cross-entropy loss for binary classification.

Uploaded by

OussamaHajSalem
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
11 views20 pages

C2 W1

The document outlines a machine learning project using TensorFlow to classify images of dogs and cats. It describes the process of loading image datasets, creating a convolutional neural network model, and training the model with specified parameters. The model architecture includes several convolutional and pooling layers, followed by dense layers, and is compiled with binary cross-entropy loss for binary classification.

Uploaded by

OussamaHajSalem
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 20

https://www.kaggle.

com/c/dogs-vs-cats/data
1.jpg
Images Training Cats
2.jpg

3.jpg

4.jpg
Dogs
5.jpg

6.jpg

7.jpg
Validation Cats
8.jpg

9.jpg
Dogs
10.jpg
1.jpg
Images Training Cats
2.jpg

3.jpg

4.jpg
Dogs
5.jpg

6.jpg

7.jpg
Validation Cats
8.jpg

9.jpg
Dogs
10.jpg
1.jpg
Images Training Cats
2.jpg

3.jpg

4.jpg
Dogs
5.jpg

6.jpg

7.jpg
Validation Cats
8.jpg

9.jpg
Dogs
10-.jpg
train_dataset = tf.keras.utils.image_dataset_from_directory(
train_dir,
image_size=(150, 150),
batch_size=20,
label_mode='binary')
train_dataset = tf.keras.utils.image_dataset_from_directory(
train_dir,
image_size=(150, 150),
batch_size=20,
label_mode='binary')
train_dataset = tf.keras.utils.image_dataset_from_directory(
train_dir,
image_size=(150, 150),
batch_size=20,
label_mode='binary')
train_dataset = tf.keras.utils.image_dataset_from_directory(
train_dir,
image_size=(150, 150),
batch_size=20,
label_mode='binary')
train_dataset = tf.keras.utils.image_dataset_from_directory(
train_dir,
image_size=(150, 150),
batch_size=20,
label_mode='binary')
validaton_dataset = tf.keras.utils.image_dataset_from_directory(
validation_dir,
image_size=(150, 150),
batch_size=20,
label_mode='binary')
AUTOTUNE = tf.data.AUTOTUNE

train_dataset_final =
train_dataset_scaled.cache().shuffle(1000).prefetch(buffer_size=AUTOTUNE)

validation_dataset_final =
validation_dataset_scaled.cache().prefetch(buffer_size=AUTOTUNE)
model = tf.keras.models.Sequential([
tf.keras.Input(shape=(150, 150, 3)),
tf.keras.layers.Rescaling(1./255),
tf.keras.layers.Conv2D(16, (3, 3), activation='relu'),
tf.keras.layers.MaxPooling2D(2, 2),
tf.keras.layers.Conv2D(32, (3, 3), activation='relu'),
tf.keras.layers.MaxPooling2D(2, 2),
tf.keras.layers.Conv2D(64, (3, 3), activation='relu'),
tf.keras.layers.MaxPooling2D(2, 2),
tf.keras.layers.Flatten(),
tf.keras.layers.Dense(512, activation='relu'),
tf.keras.layers.Dense(1, activation='sigmoid')
])
model = tf.keras.models.Sequential([
tf.keras.Input(shape=(150, 150, 3)),
tf.keras.layers.Rescaling(1./255),
tf.keras.layers.Conv2D(16, (3, 3), activation='relu'),
tf.keras.layers.MaxPooling2D(2, 2),
tf.keras.layers.Conv2D(32, (3, 3), activation='relu'),
tf.keras.layers.MaxPooling2D(2, 2),
tf.keras.layers.Conv2D(64, (3, 3), activation='relu'),
tf.keras.layers.MaxPooling2D(2, 2),
tf.keras.layers.Flatten(),
tf.keras.layers.Dense(512, activation='relu'),
tf.keras.layers.Dense(1, activation='sigmoid')
])
model = tf.keras.models.Sequential([
tf.keras.Input(shape=(150, 150, 3)),
tf.keras.layers.Rescaling(1./255),
tf.keras.layers.Conv2D(16, (3, 3), activation='relu'),
tf.keras.layers.MaxPooling2D(2, 2),
tf.keras.layers.Conv2D(32, (3, 3), activation='relu'),
tf.keras.layers.MaxPooling2D(2, 2),
tf.keras.layers.Conv2D(64, (3, 3), activation='relu'),
tf.keras.layers.MaxPooling2D(2, 2),
tf.keras.layers.Flatten(),
tf.keras.layers.Dense(512, activation='relu'),
tf.keras.layers.Dense(1, activation='sigmoid')
])
model = tf.keras.models.Sequential([
tf.keras.Input(shape=(150, 150, 3)),
tf.keras.layers.Rescaling(1./255),
tf.keras.layers.Conv2D(16, (3, 3), activation='relu'),
tf.keras.layers.MaxPooling2D(2, 2),
tf.keras.layers.Conv2D(32, (3, 3), activation='relu'),
tf.keras.layers.MaxPooling2D(2, 2),
tf.keras.layers.Conv2D(64, (3, 3), activation='relu'),
tf.keras.layers.MaxPooling2D(2, 2),
tf.keras.layers.Flatten(),
tf.keras.layers.Dense(512, activation='relu'),
tf.keras.layers.Dense(1, activation='sigmoid')
])
model = tf.keras.models.Sequential([
tf.keras.Input(shape=(150, 150, 3)),
tf.keras.layers.Rescaling(1./255),
tf.keras.layers.Conv2D(16, (3, 3), activation='relu'),
tf.keras.layers.MaxPooling2D(2, 2),
tf.keras.layers.Conv2D(32, (3, 3), activation='relu'),
tf.keras.layers.MaxPooling2D(2, 2),
tf.keras.layers.Conv2D(64, (3, 3), activation='relu'),
tf.keras.layers.MaxPooling2D(2, 2),
tf.keras.layers.Flatten(),
tf.keras.layers.Dense(512, activation='relu'),
tf.keras.layers.Dense(1, activation='sigmoid')
])
Layer (type) Output Shape Param #
=================================================================
conv2d (Conv2D) (None, 148, 148, 16) 448
_________________________________________________________________
max_pooling2d (MaxPooling2D) (None, 74, 74, 16) 0
_________________________________________________________________
conv2d_1 (Conv2D) (None, 72, 72, 32) 4640
_________________________________________________________________
max_pooling2d_1 (MaxPooling2 (None, 36, 36, 32) 0
_________________________________________________________________
conv2d_2 (Conv2D) (None, 34, 34, 64) 18496
_________________________________________________________________
max_pooling2d_2 (MaxPooling2 (None, 17, 17, 64) 0
_________________________________________________________________
flatten (Flatten) (None, 18496) 0
_________________________________________________________________
dense (Dense) (None, 512) 9470464
_________________________________________________________________
dense_1 (Dense) (None, 1) 513
=================================================================
Total params: 9,494,561
Trainable params: 9,494,561
Non-trainable params: 0
model.compile(loss='binary_crossentropy',
optimizer=tf.keras.optimizers.RMSprop(learning_rate=0.001),
metrics=['accuracy'])
history = model.fit(
train_dataset_final,
epochs=15,
validation_data=validation_dataset_final,
verbose=2)

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy