Skip to content

Commit

Permalink
cnn + dropout
Browse files Browse the repository at this point in the history
  • Loading branch information
orbxball committed Apr 12, 2017
1 parent 522127b commit 7a3076c
Show file tree
Hide file tree
Showing 2 changed files with 16 additions and 18 deletions.
4 changes: 2 additions & 2 deletions hw3/test_cnn.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ def ensure_dir(file_path):
height = width = 48
num_classes = 7
input_shape = (height, width, 1)
model_name = 'cnn2.h5'
model_name = 'cnn_d3.h5'

# Read the test data
with open(sys.argv[1], "r+") as f:
Expand Down Expand Up @@ -43,4 +43,4 @@ def ensure_dir(file_path):

with open(sys.argv[2], "w+") as f:
f.write("id,label\n")
f.write("\n".join(result))
f.write("\n".join(result))
30 changes: 14 additions & 16 deletions hw3/train_cnn.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@
import numpy as np
import keras
from keras.models import Sequential
from keras.layers import Dense, Activation, Flatten
from keras.layers import Conv2D, MaxPooling2D
from keras.layers import Dense, Activation, Flatten, Dropout
from keras.layers import Conv2D, MaxPooling2D, AveragePooling2D
from keras import losses
from keras import optimizers

Expand All @@ -13,9 +13,9 @@
num_classes = 7
input_shape = (height, width, 1)
batch_size = 32
epochs = 5
epochs = 20
pool_size = (2, 2)
model_name = 'cnn2.h5'
model_name = 'cnn_d3.h5'
isValid = 1

# Read the train data
Expand Down Expand Up @@ -43,19 +43,17 @@

# Construct the model
model = Sequential()
model.add(Conv2D(25, (3, 3), input_shape=input_shape))
model.add(MaxPooling2D(pool_size=pool_size))
model.add(Conv2D(50, (3, 3)))
model.add(MaxPooling2D(pool_size=pool_size))
model.add(Conv2D(100, (3, 3)))
model.add(Conv2D(25, (3, 3), activation='relu', input_shape=input_shape))
model.add(Conv2D(50, (3, 3), activation='relu'))
model.add(MaxPooling2D(pool_size=pool_size))
model.add(Dropout(0.25))
model.add(Conv2D(50, (3, 3), activation='relu'))
model.add(Conv2D(100, (3, 3), activation='relu'))
model.add(AveragePooling2D(pool_size=pool_size))
model.add(Dropout(0.25))
model.add(Flatten())
model.add(Dense(500))
model.add(Activation('softplus'))
model.add(Dense(100))
model.add(Activation('softplus'))
model.add(Dense(50))
model.add(Activation('softplus'))
model.add(Dense(500, activation='relu'))
model.add(Dropout(0.5))
model.add(Dense(num_classes))
model.add(Activation('softmax'))
model.summary()
Expand Down Expand Up @@ -87,4 +85,4 @@
print('Test accuracy:', score[1])

# Save model
model.save(model_name)
model.save(model_name)

0 comments on commit 7a3076c

Please sign in to comment.