Skip to content

Instantly share code, notes, and snippets.

@akash-ch2812
Created July 10, 2020 12:44
Show Gist options
  • Save akash-ch2812/0a6c3325c5cd9665fa73249f0011f687 to your computer and use it in GitHub Desktop.
Save akash-ch2812/0a6c3325c5cd9665fa73249f0011f687 to your computer and use it in GitHub Desktop.
# import statements
import tensorflow as tf
from keras.preprocessing.image import ImageDataGenerator
import numpy as np
# loading training data
train_datagen = ImageDataGenerator(
rescale=1./255,
shear_range=0.2,
zoom_range=0.2,
horizontal_flip=True)
train_generator = train_datagen.flow_from_directory(
'/kaggle/input/intel-image-classification/seg_train/seg_train',
target_size=(64, 64),
batch_size=32,
class_mode='categorical')
# loading testing data
test_datagen = ImageDataGenerator(rescale=1./255)
test_generator = train_datagen.flow_from_directory(
'/kaggle/input/intel-image-classification/seg_test/seg_test',
target_size=(64, 64),
batch_size=32,
class_mode='categorical')
# initialising sequential model and adding layers to it
cnn = tf.keras.models.Sequential()
cnn.add(tf.keras.layers.Conv2D(filters=48, kernel_size=3, activation='relu', input_shape=[64, 64, 3]))
cnn.add(tf.keras.layers.MaxPool2D(pool_size=2, strides=2))
cnn.add(tf.keras.layers.Conv2D(filters=48, kernel_size=3, activation='relu'))
cnn.add(tf.keras.layers.MaxPool2D(pool_size=2, strides=2))
cnn.add(tf.keras.layers.Conv2D(filters=32, kernel_size=3, activation='relu'))
cnn.add(tf.keras.layers.MaxPool2D(pool_size=2, strides=2))
cnn.add(tf.keras.layers.Flatten())
cnn.add(tf.keras.layers.Dense(128, activation='relu'))
cnn.add(tf.keras.layers.Dense(64, activation='relu'))
cnn.add(tf.keras.layers.Dense(6, activation='softmax'))
# finally compile and train the cnn
cnn.compile(optimizer="adam", loss="categorical_crossentropy", metrics=["accuracy"])
cnn.fit(x=train_generator, validation_data=test_generator, epochs=30)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment