Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit e48548b

Browse files
Update script.py
1 parent a6c66a0 commit e48548b

File tree

1 file changed

+35
-30
lines changed

1 file changed

+35
-30
lines changed

‎Malaria/script.py‎

Lines changed: 35 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -45,54 +45,59 @@
4545
imageU = cv2.imread("../input/cell-images-for-detecting-malaria/cell_images/Uninfected/" + b)
4646
image_from_arrayU = Image.fromarray(imageU, 'RGB')
4747
size_imageU = image_from_arrayU.resize((36, 36))
48-
data.append(np.array(size_imageU))
48+
data.append(np.array(size_image))
4949
labels.append(1)
5050
except AttributeError:
5151
print("")
52-
52+
5353
# Creating single numpy array of all the images and labels
5454
data1 = np.array(data)
5555
labels1 = np.array(labels)
5656

5757
print('Cells : {} and labels : {}'.format(data1.shape , labels1.shape))
5858

5959
# lets shuffle the data and labels before splitting them into training and testing sets
60-
n = np.arange(data.shape[0])
60+
n = np.arange(data1.shape[0])
6161
np.random.shuffle(n)
6262
data2 = data1[n]
6363
labels2 = labels1[n]
6464

6565

6666
### Splitting the dataset into the Training set and Test set
67-
68-
X_train, X_valid, y_trainPre, y_validPre = train_test_split(data2, labels2, test_size = 0.2, random_state = 0)
69-
X_train = X_train.astype('float32')
70-
X_valid = X_valid.astype('float32')
67+
deftraning():
68+
X_train, X_valid, y_train, y_valid = train_test_split(data2, labels2, test_size = 0.2, random_state = 0)
69+
X_trainF = X_train.astype('float32')
70+
X_validF = X_valid.astype('float32')
7171
# One Hot Encoding
72-
y_train = to_categorical(y_trainPre)
73-
y_valid = to_categorical(y_validPre)
72+
y_trainF = to_categorical(y_train)
73+
y_validF = to_categorical(y_valid)
74+
75+
traning()
76+
77+
def CNN_model():
78+
classifier = Sequential()
79+
# CNN layers
80+
classifier.add(Conv2D(32, kernel_size=(3, 3), input_shape = (36, 36, 3), activation = 'relu'))
81+
classifier.add(MaxPooling2D(pool_size = (2, 2)))
82+
classifier.add(BatchNormalization(axis = -1))
83+
classifier.add(Dropout(0.5)) # Dropout prevents overfitting
84+
classifier.add(Conv2D(32, kernel_size=(3, 3), input_shape = (36, 36, 3), activation = 'relu'))
85+
classifier.add(MaxPooling2D(pool_size = (2, 2)))
86+
classifier.add(BatchNormalization(axis = -1))
87+
classifier.add(Dropout(0.5))
88+
classifier.add(Flatten())
89+
classifier.add(Dense(units=128, activation='relu'))
90+
classifier.add(BatchNormalization(axis = -1))
91+
classifier.add(Dropout(0.5))
92+
classifier.add(Dense(units=2, activation='softmax'))
93+
classifier.compile(optimizer = 'adam', loss = 'categorical_crossentropy', metrics = ['accuracy'])
94+
history = classifier.fit(X_trainF, y_trainF, batch_size=120, epochs=15, verbose=1, validation_data=(X_validF, y_validF))
95+
classifier.summary()
7496

75-
classifier = Sequential()
76-
# CNN layers
77-
classifier.add(Conv2D(32, kernel_size=(3, 3), input_shape = (36, 36, 3), activation = 'relu'))
78-
classifier.add(MaxPooling2D(pool_size = (2, 2)))
79-
classifier.add(BatchNormalization(axis = -1))
80-
classifier.add(Dropout(0.5)) # Dropout prevents overfitting
81-
classifier.add(Conv2D(32, kernel_size=(3, 3), input_shape = (36, 36, 3), activation = 'relu'))
82-
classifier.add(MaxPooling2D(pool_size = (2, 2)))
83-
classifier.add(BatchNormalization(axis = -1))
84-
classifier.add(Dropout(0.5))
85-
classifier.add(Flatten())
86-
classifier.add(Dense(units=128, activation='relu'))
87-
classifier.add(BatchNormalization(axis = -1))
88-
classifier.add(Dropout(0.5))
89-
classifier.add(Dense(units=2, activation='softmax'))
90-
classifier.compile(optimizer = 'adam', loss = 'categorical_crossentropy', metrics = ['accuracy'])
91-
history = classifier.fit(X_train, y_train, batch_size=120, epochs=15, verbose=1, validation_data=(X_valid, y_valid))
92-
classifier.summary()
97+
CNN_model()
9398

94-
y_pred = classifier.predict(X_valid)
99+
y_pred = classifier.predict(X_validF)
95100
# Convert back to categorical values
96-
y_predf = np.argmax(y_pred, axis=1)
97-
y_validf = np.argmax(y_valid, axis=1)
101+
y_predF = np.argmax(y_pred, axis=1)
102+
y_valid_one = np.argmax(y_validF, axis=1)
98103
classifier.save("./Malaria/Models/malaria.h5")

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /