Skip to content

Commit 7323d9c

Browse files
committed
Updated user arguments
1 parent 9dfab59 commit 7323d9c

File tree

5 files changed

+14
-11
lines changed

5 files changed

+14
-11
lines changed

autoencoder.h5

-21.1 MB
Binary file not shown.

autoencoder.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -59,8 +59,8 @@
5959
batch_size = int(input("Batch size: "))
6060

6161
# Build the autoencoder
62-
encoded = encoder(input_img, convolutional_layers, convolutional_filter_size, convolutional_filters_per_layer)
63-
decoded = decoder(encoded, convolutional_layers, convolutional_filter_size, convolutional_filters_per_layer)
62+
encoded = encoder(input_img, convolutional_layers, convolutional_filter_size, convolutional_filters_per_layer, 0)
63+
decoded = decoder(encoded, convolutional_layers, convolutional_filter_size, convolutional_filters_per_layer, 0)
6464

6565
autoencoder = Model(input_img, decoded)
6666
autoencoder.compile(loss='mean_squared_error', optimizer=optimizers.RMSprop())

classification.py

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,8 @@
6161
convolutional_filters_per_layer.append(int(input("Convolutional filters of layer " + str(layer + 1) + ": ")))
6262

6363
fully_connected_size = int(input("Fully connected layer size: "))
64-
epochs = int(input("Epochs: "))
64+
epochs_phase_1 = int(input("Phase 1 epochs: "))
65+
epochs_phase_2 = int(input("Phase 2 epochs: "))
6566
batch_size = int(input("Batch size: "))
6667
dropout_rate = float(input("Dropout rate: "))
6768

@@ -79,7 +80,7 @@
7980
)
8081

8182
# Construct the classifier NN(input -> encoder -> Flatten -> FC -> output with 10 classes(0 - 9))
82-
encoded = encoder(input_img, convolutional_layers, convolutional_filter_size, convolutional_filters_per_layer)
83+
encoded = encoder(input_img, convolutional_layers, convolutional_filter_size, convolutional_filters_per_layer, dropout_rate)
8384
flatten = layers.Flatten()(encoded)
8485
fc = layers.Dense(fully_connected_size, activation='relu')(flatten)
8586
dropout = layers.Dropout(rate=dropout_rate)(fc)
@@ -104,7 +105,7 @@
104105
X_train,
105106
y_train,
106107
batch_size=batch_size,
107-
epochs=epochs,
108+
epochs=epochs_phase_1,
108109
verbose=1,
109110
validation_data=(X_validation, y_validation)
110111
)
@@ -119,7 +120,7 @@
119120
X_train,
120121
y_train,
121122
batch_size=batch_size,
122-
epochs=epochs,
123+
epochs=epochs_phase_2,
123124
verbose=1,
124125
validation_data=(X_validation, y_validation)
125126
)
@@ -186,7 +187,7 @@
186187
row_size = column_size = ceil(sqrt(fig_size))
187188
for index, img in enumerate(test_images[:fig_size]):
188189
fig.add_subplot(row_size, column_size, index + 1)
189-
plt.title(str(predicted_classes[index]), pad=10)
190+
plt.title(str(predicted_classes[index]))
190191
plt.imshow(img * 255)
191192

192193
plt.show()

decoder.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,13 @@
11
from keras import layers
22

3-
def decoder(conv, convolutional_layers, convolutional_filter_size, convolutional_filters_per_layer):
3+
def decoder(conv, convolutional_layers, convolutional_filter_size, convolutional_filters_per_layer, dropout_rate):
44
new_conv = conv
55

66
for layer in range(convolutional_layers - 1, -1, -1):
77
new_conv = layers.Conv2D(convolutional_filters_per_layer[layer], (convolutional_filter_size, convolutional_filter_size), activation='relu', padding='same')(new_conv)
88
new_conv = layers.BatchNormalization()(new_conv)
99
if layer <= 1:
1010
new_conv = layers.UpSampling2D((2, 2))(new_conv)
11+
new_conv = layers.Dropout(dropout_rate)(new_conv)
1112

1213
return layers.Conv2D(1, (convolutional_filter_size, convolutional_filter_size), activation='sigmoid', padding='same')(new_conv)

encoder.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,19 +3,20 @@
33

44
def encoder_layers(convolutional_layers):
55
if convolutional_layers <= 2:
6-
return convolutional_layers * 3
6+
return convolutional_layers * 4
77

8-
return 6 + (convolutional_layers - 2) * 2
8+
return 6 + (convolutional_layers - 2) * 3
99

1010

1111

12-
def encoder(input_img, convolutional_layers, convolutional_filter_size, convolutional_filters_per_layer):
12+
def encoder(input_img, convolutional_layers, convolutional_filter_size, convolutional_filters_per_layer, dropout_rate):
1313
conv = input_img
1414

1515
for layer in range(convolutional_layers):
1616
conv = layers.Conv2D(convolutional_filters_per_layer[layer], (convolutional_filter_size, convolutional_filter_size), activation='relu', padding='same')(conv)
1717
conv = layers.BatchNormalization()(conv)
1818
if layer <= 1:
1919
conv = layers.MaxPooling2D(pool_size=(2, 2))(conv)
20+
conv = layers.Dropout(dropout_rate)(conv)
2021

2122
return conv

0 commit comments

Comments
 (0)