Skip to content

Commit

Permalink
Run per-epoch training to check test-loss VS train-loss
Browse files Browse the repository at this point in the history
  • Loading branch information
OrestisAlpos committed May 7, 2017
1 parent 547720c commit d76928e
Show file tree
Hide file tree
Showing 30 changed files with 218 additions and 24 deletions.
25 changes: 13 additions & 12 deletions MLP_train_vs_test_error.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
import os
from keras.models import model_from_json, Sequential
from keras import optimizers
from keras.models import model_from_json, Sequential, load_model
from keras.layers import Activation, Dense, Dropout
from keras.engine import Input, Model
import keras.utils
Expand All @@ -23,7 +24,7 @@ def get_model(num_hid_layers, cells_per_layer, dropout_rate):
for i in range(num_hid_layers):
model.add(Dense(cells_per_layer, activation='relu'))
model.add(Dropout(dropout_rate))
model.add(Dense(1, activation='sigmoid'))#softmax se multiclass, sigmoid se 2class
model.add(Dense(5, activation='softmax'))#softmax se multiclass, sigmoid se 2class
model_name = models_directory + 'MLP.hidlay' + str(num_hid_layers) + '.cells' + str(cells_per_layer) + '.drop' + str(dropout_rate)
plot_model(model, to_file = model_name + '.2class' + '.png', show_shapes=True)
fp_model = open(model_name + '.2class' + '.json', 'w+')
Expand All @@ -41,29 +42,29 @@ def fit_and_eval(dataset_id, num_hid_layers, cells_per_layer, dropout_rate):
#y_train = y_train[0:100]
#x_test = x_test[0:100,:]
#y_test = y_test[0:100]
num_classes = 2
nb_epoch = 500
optimizer = 'sgd'
loss_function = 'mse'
model_name = str(num_hid_layers) + '.' + str(cells_per_layer) + '.' + str(dropout_rate)
num_classes = 5
nb_epoch = 100
optimizer = 'rmsprop'
optimizer_w_params = optimizers.RMSprop(lr=0.0001)
loss_function = 'categorical_crossentropy'
results_file = results_directory + dataset_name + '.' + loss_function + '.' + optimizer + '.Dropout' + str(dropout_rate) + 'Layers' + str(num_hid_layers) + '.Cells' + str(cells_per_layer)
write_results(results_file, 'loss|acc|val_loss|val_acc')
model = get_model(num_hid_layers, cells_per_layer, dropout_rate)
model.compile(optimizer=optimizer, loss=loss_function, metrics=['accuracy'])
#model.fit(x_train, keras.utils.np_utils.to_categorical(y_train, num_classes), epochs = nb_epoch, batch_size = 128, shuffle=True)
hist = model.fit(x_train, y_train, validation_data=(x_test,y_test), epochs = nb_epoch, batch_size = 128, shuffle=True)
#ev = model.evaluate(x = x_test, y = keras.utils.np_utils.to_categorical(y_test, num_classes), batch_size = 128)
#ev = model.evaluate(x = x_test, y = y_test, batch_size = 128)
hist = model.fit(x_train, keras.utils.np_utils.to_categorical(y_train, num_classes), validation_data =(x_test,keras.utils.np_utils.to_categorical(y_test)), epochs = nb_epoch, batch_size = 128, shuffle=True)
#hist = model.fit(x_train, y_train, validation_data=(x_test,y_test), epochs = nb_epoch, batch_size = 128, shuffle=True)
write_results(results_file,hist.history['loss'])
write_results(results_file,hist.history['acc'])
write_results(results_file,hist.history['val_loss'])
write_results(results_file,hist.history['val_acc'])
model.save(models_directory + '/full_models/' + dataset_name + '.' + model_name + '.h5')

def write_results(results_file, text):
fp_results = open(results_file, 'a')
fp_results.write(str(text))
fp_results.write('\n')
fp_results.close()

fit_and_eval(3,1,40,0.5)
fit_and_eval(3,4,40,0.5)
fit_and_eval(0,2,30,0.4)

2 changes: 1 addition & 1 deletion MLPmodels/MLP.hidlay1.cells40.drop0.5.2class.json
Original file line number Diff line number Diff line change
@@ -1 +1 @@
{"config": [{"config": {"activation": "relu", "use_bias": true, "kernel_regularizer": null, "kernel_constraint": null, "name": "dense_1", "dtype": "float32", "batch_input_shape": [null, 79], "kernel_initializer": {"config": {"distribution": "uniform", "mode": "fan_avg", "scale": 1.0, "seed": null}, "class_name": "VarianceScaling"}, "bias_initializer": {"config": {}, "class_name": "Zeros"}, "trainable": true, "activity_regularizer": null, "bias_constraint": null, "bias_regularizer": null, "units": 40}, "class_name": "Dense"}, {"config": {"name": "dropout_1", "trainable": true, "rate": 0.5}, "class_name": "Dropout"}, {"config": {"activation": "relu", "use_bias": true, "kernel_constraint": null, "name": "dense_2", "bias_constraint": null, "kernel_initializer": {"config": {"distribution": "uniform", "mode": "fan_avg", "scale": 1.0, "seed": null}, "class_name": "VarianceScaling"}, "bias_initializer": {"config": {}, "class_name": "Zeros"}, "bias_regularizer": null, "trainable": true, "activity_regularizer": null, "kernel_regularizer": null, "units": 40}, "class_name": "Dense"}, {"config": {"name": "dropout_2", "trainable": true, "rate": 0.5}, "class_name": "Dropout"}, {"config": {"activation": "sigmoid", "use_bias": true, "kernel_constraint": null, "name": "dense_3", "bias_constraint": null, "kernel_initializer": {"config": {"distribution": "uniform", "mode": "fan_avg", "scale": 1.0, "seed": null}, "class_name": "VarianceScaling"}, "bias_initializer": {"config": {}, "class_name": "Zeros"}, "bias_regularizer": null, "trainable": true, "activity_regularizer": null, "kernel_regularizer": null, "units": 1}, "class_name": "Dense"}], "backend": "theano", "class_name": "Sequential", "keras_version": "2.0.3"}
{"backend": "theano", "config": [{"config": {"name": "dense_1", "bias_constraint": null, "trainable": true, "dtype": "float32", "kernel_constraint": null, "units": 40, "batch_input_shape": [null, 79], "activation": "relu", "kernel_initializer": {"config": {"seed": null, "distribution": "uniform", "scale": 1.0, "mode": "fan_avg"}, "class_name": "VarianceScaling"}, "kernel_regularizer": null, "bias_regularizer": null, "use_bias": true, "activity_regularizer": null, "bias_initializer": {"config": {}, "class_name": "Zeros"}}, "class_name": "Dense"}, {"config": {"name": "dropout_1", "trainable": true, "rate": 0.5}, "class_name": "Dropout"}, {"config": {"name": "dense_2", "bias_constraint": null, "trainable": true, "kernel_constraint": null, "units": 40, "activation": "relu", "kernel_initializer": {"config": {"seed": null, "distribution": "uniform", "scale": 1.0, "mode": "fan_avg"}, "class_name": "VarianceScaling"}, "kernel_regularizer": null, "bias_regularizer": null, "use_bias": true, "activity_regularizer": null, "bias_initializer": {"config": {}, "class_name": "Zeros"}}, "class_name": "Dense"}, {"config": {"name": "dropout_2", "trainable": true, "rate": 0.5}, "class_name": "Dropout"}, {"config": {"name": "dense_3", "bias_constraint": null, "trainable": true, "kernel_constraint": null, "units": 5, "activation": "softmax", "kernel_initializer": {"config": {"seed": null, "distribution": "uniform", "scale": 1.0, "mode": "fan_avg"}, "class_name": "VarianceScaling"}, "kernel_regularizer": null, "bias_regularizer": null, "use_bias": true, "activity_regularizer": null, "bias_initializer": {"config": {}, "class_name": "Zeros"}}, "class_name": "Dense"}], "class_name": "Sequential", "keras_version": "2.0.3"}
Binary file modified MLPmodels/MLP.hidlay1.cells40.drop0.5.2class.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 1 addition & 1 deletion MLPmodels/MLP.hidlay2.cells30.drop0.4.2class.json
Original file line number Diff line number Diff line change
@@ -1 +1 @@
{"config": [{"config": {"bias_constraint": null, "dtype": "float32", "bias_regularizer": null, "bias_initializer": {"config": {}, "class_name": "Zeros"}, "trainable": true, "kernel_constraint": null, "batch_input_shape": [null, 79], "units": 30, "use_bias": true, "name": "dense_430", "kernel_regularizer": null, "activity_regularizer": null, "activation": "relu", "kernel_initializer": {"config": {"distribution": "uniform", "scale": 1.0, "mode": "fan_avg", "seed": null}, "class_name": "VarianceScaling"}}, "class_name": "Dense"}, {"config": {"name": "dropout_319", "trainable": true, "rate": 0.4}, "class_name": "Dropout"}, {"config": {"bias_constraint": null, "bias_initializer": {"config": {}, "class_name": "Zeros"}, "bias_regularizer": null, "trainable": true, "kernel_constraint": null, "units": 30, "use_bias": true, "name": "dense_431", "kernel_regularizer": null, "activity_regularizer": null, "activation": "relu", "kernel_initializer": {"config": {"distribution": "uniform", "scale": 1.0, "mode": "fan_avg", "seed": null}, "class_name": "VarianceScaling"}}, "class_name": "Dense"}, {"config": {"name": "dropout_320", "trainable": true, "rate": 0.4}, "class_name": "Dropout"}, {"config": {"bias_constraint": null, "bias_initializer": {"config": {}, "class_name": "Zeros"}, "bias_regularizer": null, "trainable": true, "kernel_constraint": null, "units": 30, "use_bias": true, "name": "dense_432", "kernel_regularizer": null, "activity_regularizer": null, "activation": "relu", "kernel_initializer": {"config": {"distribution": "uniform", "scale": 1.0, "mode": "fan_avg", "seed": null}, "class_name": "VarianceScaling"}}, "class_name": "Dense"}, {"config": {"name": "dropout_321", "trainable": true, "rate": 0.4}, "class_name": "Dropout"}, {"config": {"bias_constraint": null, "bias_initializer": {"config": {}, "class_name": "Zeros"}, "bias_regularizer": null, "trainable": true, "kernel_constraint": null, "units": 1, "use_bias": true, "name": "dense_433", "kernel_regularizer": null, "activity_regularizer": null, "activation": "sigmoid", "kernel_initializer": {"config": {"distribution": "uniform", "scale": 1.0, "mode": "fan_avg", "seed": null}, "class_name": "VarianceScaling"}}, "class_name": "Dense"}], "backend": "theano", "class_name": "Sequential", "keras_version": "2.0.3"}
{"keras_version": "2.0.3", "class_name": "Sequential", "backend": "theano", "config": [{"class_name": "Dense", "config": {"use_bias": true, "dtype": "float32", "bias_initializer": {"class_name": "Zeros", "config": {}}, "kernel_initializer": {"class_name": "VarianceScaling", "config": {"seed": null, "distribution": "uniform", "mode": "fan_avg", "scale": 1.0}}, "activity_regularizer": null, "bias_constraint": null, "trainable": true, "name": "dense_1", "kernel_constraint": null, "activation": "relu", "bias_regularizer": null, "batch_input_shape": [null, 79], "units": 30, "kernel_regularizer": null}}, {"class_name": "Dropout", "config": {"trainable": true, "rate": 0.4, "name": "dropout_1"}}, {"class_name": "Dense", "config": {"use_bias": true, "units": 30, "bias_initializer": {"class_name": "Zeros", "config": {}}, "kernel_initializer": {"class_name": "VarianceScaling", "config": {"seed": null, "distribution": "uniform", "mode": "fan_avg", "scale": 1.0}}, "activity_regularizer": null, "bias_constraint": null, "trainable": true, "kernel_regularizer": null, "kernel_constraint": null, "bias_regularizer": null, "name": "dense_2", "activation": "relu"}}, {"class_name": "Dropout", "config": {"trainable": true, "rate": 0.4, "name": "dropout_2"}}, {"class_name": "Dense", "config": {"use_bias": true, "units": 30, "bias_initializer": {"class_name": "Zeros", "config": {}}, "kernel_initializer": {"class_name": "VarianceScaling", "config": {"seed": null, "distribution": "uniform", "mode": "fan_avg", "scale": 1.0}}, "activity_regularizer": null, "bias_constraint": null, "trainable": true, "kernel_regularizer": null, "kernel_constraint": null, "bias_regularizer": null, "name": "dense_3", "activation": "relu"}}, {"class_name": "Dropout", "config": {"trainable": true, "rate": 0.4, "name": "dropout_3"}}, {"class_name": "Dense", "config": {"use_bias": true, "units": 5, "bias_initializer": {"class_name": "Zeros", "config": {}}, "kernel_initializer": {"class_name": "VarianceScaling", "config": {"seed": null, "distribution": "uniform", "mode": "fan_avg", "scale": 1.0}}, "activity_regularizer": null, "bias_constraint": null, "trainable": true, "kernel_regularizer": null, "kernel_constraint": null, "bias_regularizer": null, "name": "dense_4", "activation": "softmax"}}]}
Binary file modified MLPmodels/MLP.hidlay2.cells30.drop0.4.2class.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 1 addition & 1 deletion MLPmodels/MLP.hidlay4.cells40.drop0.5.2class.json
Original file line number Diff line number Diff line change
@@ -1 +1 @@
{"config": [{"config": {"activation": "relu", "use_bias": true, "kernel_regularizer": null, "kernel_constraint": null, "name": "dense_4", "dtype": "float32", "batch_input_shape": [null, 79], "kernel_initializer": {"config": {"distribution": "uniform", "mode": "fan_avg", "scale": 1.0, "seed": null}, "class_name": "VarianceScaling"}, "bias_initializer": {"config": {}, "class_name": "Zeros"}, "trainable": true, "activity_regularizer": null, "bias_constraint": null, "bias_regularizer": null, "units": 40}, "class_name": "Dense"}, {"config": {"name": "dropout_3", "trainable": true, "rate": 0.5}, "class_name": "Dropout"}, {"config": {"activation": "relu", "use_bias": true, "kernel_constraint": null, "name": "dense_5", "bias_constraint": null, "kernel_initializer": {"config": {"distribution": "uniform", "mode": "fan_avg", "scale": 1.0, "seed": null}, "class_name": "VarianceScaling"}, "bias_initializer": {"config": {}, "class_name": "Zeros"}, "bias_regularizer": null, "trainable": true, "activity_regularizer": null, "kernel_regularizer": null, "units": 40}, "class_name": "Dense"}, {"config": {"name": "dropout_4", "trainable": true, "rate": 0.5}, "class_name": "Dropout"}, {"config": {"activation": "relu", "use_bias": true, "kernel_constraint": null, "name": "dense_6", "bias_constraint": null, "kernel_initializer": {"config": {"distribution": "uniform", "mode": "fan_avg", "scale": 1.0, "seed": null}, "class_name": "VarianceScaling"}, "bias_initializer": {"config": {}, "class_name": "Zeros"}, "bias_regularizer": null, "trainable": true, "activity_regularizer": null, "kernel_regularizer": null, "units": 40}, "class_name": "Dense"}, {"config": {"name": "dropout_5", "trainable": true, "rate": 0.5}, "class_name": "Dropout"}, {"config": {"activation": "relu", "use_bias": true, "kernel_constraint": null, "name": "dense_7", "bias_constraint": null, "kernel_initializer": {"config": {"distribution": "uniform", "mode": "fan_avg", "scale": 1.0, "seed": null}, "class_name": "VarianceScaling"}, "bias_initializer": {"config": {}, "class_name": "Zeros"}, "bias_regularizer": null, "trainable": true, "activity_regularizer": null, "kernel_regularizer": null, "units": 40}, "class_name": "Dense"}, {"config": {"name": "dropout_6", "trainable": true, "rate": 0.5}, "class_name": "Dropout"}, {"config": {"activation": "relu", "use_bias": true, "kernel_constraint": null, "name": "dense_8", "bias_constraint": null, "kernel_initializer": {"config": {"distribution": "uniform", "mode": "fan_avg", "scale": 1.0, "seed": null}, "class_name": "VarianceScaling"}, "bias_initializer": {"config": {}, "class_name": "Zeros"}, "bias_regularizer": null, "trainable": true, "activity_regularizer": null, "kernel_regularizer": null, "units": 40}, "class_name": "Dense"}, {"config": {"name": "dropout_7", "trainable": true, "rate": 0.5}, "class_name": "Dropout"}, {"config": {"activation": "sigmoid", "use_bias": true, "kernel_constraint": null, "name": "dense_9", "bias_constraint": null, "kernel_initializer": {"config": {"distribution": "uniform", "mode": "fan_avg", "scale": 1.0, "seed": null}, "class_name": "VarianceScaling"}, "bias_initializer": {"config": {}, "class_name": "Zeros"}, "bias_regularizer": null, "trainable": true, "activity_regularizer": null, "kernel_regularizer": null, "units": 1}, "class_name": "Dense"}], "backend": "theano", "class_name": "Sequential", "keras_version": "2.0.3"}
{"class_name": "Sequential", "config": [{"class_name": "Dense", "config": {"name": "dense_1", "activation": "relu", "activity_regularizer": null, "bias_regularizer": null, "units": 40, "kernel_regularizer": null, "trainable": true, "use_bias": true, "bias_initializer": {"class_name": "Zeros", "config": {}}, "kernel_constraint": null, "kernel_initializer": {"class_name": "VarianceScaling", "config": {"distribution": "uniform", "mode": "fan_avg", "scale": 1.0, "seed": null}}, "bias_constraint": null, "batch_input_shape": [null, 79], "dtype": "float32"}}, {"class_name": "Dropout", "config": {"name": "dropout_1", "trainable": true, "rate": 0.5}}, {"class_name": "Dense", "config": {"name": "dense_2", "activation": "relu", "activity_regularizer": null, "units": 40, "kernel_regularizer": null, "trainable": true, "use_bias": true, "bias_regularizer": null, "kernel_constraint": null, "kernel_initializer": {"class_name": "VarianceScaling", "config": {"distribution": "uniform", "mode": "fan_avg", "scale": 1.0, "seed": null}}, "bias_constraint": null, "bias_initializer": {"class_name": "Zeros", "config": {}}}}, {"class_name": "Dropout", "config": {"name": "dropout_2", "trainable": true, "rate": 0.5}}, {"class_name": "Dense", "config": {"name": "dense_3", "activation": "relu", "activity_regularizer": null, "units": 40, "kernel_regularizer": null, "trainable": true, "use_bias": true, "bias_regularizer": null, "kernel_constraint": null, "kernel_initializer": {"class_name": "VarianceScaling", "config": {"distribution": "uniform", "mode": "fan_avg", "scale": 1.0, "seed": null}}, "bias_constraint": null, "bias_initializer": {"class_name": "Zeros", "config": {}}}}, {"class_name": "Dropout", "config": {"name": "dropout_3", "trainable": true, "rate": 0.5}}, {"class_name": "Dense", "config": {"name": "dense_4", "activation": "relu", "activity_regularizer": null, "units": 40, "kernel_regularizer": null, "trainable": true, "use_bias": true, "bias_regularizer": null, "kernel_constraint": null, "kernel_initializer": {"class_name": "VarianceScaling", "config": {"distribution": "uniform", "mode": "fan_avg", "scale": 1.0, "seed": null}}, "bias_constraint": null, "bias_initializer": {"class_name": "Zeros", "config": {}}}}, {"class_name": "Dropout", "config": {"name": "dropout_4", "trainable": true, "rate": 0.5}}, {"class_name": "Dense", "config": {"name": "dense_5", "activation": "relu", "activity_regularizer": null, "units": 40, "kernel_regularizer": null, "trainable": true, "use_bias": true, "bias_regularizer": null, "kernel_constraint": null, "kernel_initializer": {"class_name": "VarianceScaling", "config": {"distribution": "uniform", "mode": "fan_avg", "scale": 1.0, "seed": null}}, "bias_constraint": null, "bias_initializer": {"class_name": "Zeros", "config": {}}}}, {"class_name": "Dropout", "config": {"name": "dropout_5", "trainable": true, "rate": 0.5}}, {"class_name": "Dense", "config": {"name": "dense_6", "activation": "softmax", "activity_regularizer": null, "units": 5, "kernel_regularizer": null, "trainable": true, "use_bias": true, "bias_regularizer": null, "kernel_constraint": null, "kernel_initializer": {"class_name": "VarianceScaling", "config": {"distribution": "uniform", "mode": "fan_avg", "scale": 1.0, "seed": null}}, "bias_constraint": null, "bias_initializer": {"class_name": "Zeros", "config": {}}}}], "keras_version": "2.0.3", "backend": "theano"}
Binary file modified MLPmodels/MLP.hidlay4.cells40.drop0.5.2class.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file not shown.
Loading

0 comments on commit d76928e

Please sign in to comment.