0% found this document useful (0 votes)
8 views

Code 1

Copyright
© © All Rights Reserved
Available Formats
Download as RTF, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
8 views

Code 1

Copyright
© © All Rights Reserved
Available Formats
Download as RTF, PDF, TXT or read online on Scribd
You are on page 1/ 3

import numpy as np

import matplotlib.pyplot as plt

from tensorflow.keras.layers import *

from tensorflow.keras.models import *

from tensorflow.keras.preprocessing import image

#Training model

model = Sequential() ## creating a blank model

model.add(Conv2D(32,kernel_size=(3,3),activation='relu',input_shape=(224,224,3)))

model.add(MaxPooling2D(pool_size=(2,2)))

model.add(Conv2D(64,(3,3),activation='relu'))

model.add(MaxPooling2D(pool_size=(2,2)))

model.add(Conv2D(128,(3,3),activation='relu'))

model.add(MaxPooling2D(pool_size=(2,2)))

model.add(Conv2D(256,(3,3),activation='relu'))

model.add(MaxPooling2D(pool_size=(2,2)))

model.add(Dropout(0.25)) ### reduce the overfitting

model.add(Flatten()) ### input layer

model.add(Dense(256,activation='relu')) ## hidden layer of ann

model.add(Dropout(0.5))

model.add(Dense(512,activation='relu')) ## hidden layer of ann

model.add(Dropout(0.5))

model.add(Dense(4,activation='softmax')) ## output layer


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

model.summary()

#Moulding train images

train_datagen = image.ImageDataGenerator(rescale = 1./255, shear_range = 0.2,zoom_range = 0.2,


horizontal_flip = True)

test_dataset = image.ImageDataGenerator(rescale=1./255)

#Reshaping test and validation images

train_generator = train_datagen.flow_from_directory(

'brain_tumor_dataset/train',

target_size = (224,224),

batch_size = 15,

class_mode = 'categorical')

validation_generator = test_dataset.flow_from_directory(

'brain_tumor_dataset/val',

target_size = (224,224),

batch_size = 15,

class_mode = 'categorical')

#### Train the model

history = model.fit_generator(

train_generator,

steps_per_epoch=7,

epochs = 25,
validation_data = validation_generator)

print("Training Ended")

print("Accuracy score is:")

print(model.evaluate_generator(validation_generator))

plt.figure(figsize=(20,10))

plt.subplot(1, 2, 1)

plt.suptitle('Optimizer : Adam', fontsize=10)

plt.ylabel('Loss', fontsize=16)

plt.plot(history.history['loss'], label='Training Loss')

plt.plot(history.history['val_loss'], label='Validation Loss')

plt.legend(loc='upper right')

plt.subplot(1, 2, 2)

plt.ylabel('Accuracy', fontsize=16)

plt.plot(history.history['accuracy'], label='Training Accuracy')

plt.plot(history.history['val_accuracy'], label='Validation Accuracy')

plt.legend(loc='lower right')

plt.show()

You might also like