diff options
Diffstat (limited to 'lenet.py')
-rw-r--r-- | lenet.py | 27 |
1 files changed, 27 insertions, 0 deletions
@@ -11,6 +11,7 @@ from tensorflow.keras.metrics import categorical_accuracy import numpy as np import random from sklearn.metrics import accuracy_score +from sklearn.model_selection import train_test_split def import_mnist(): from tensorflow.examples.tutorials.mnist import input_data @@ -126,6 +127,32 @@ def test_classifier(model, x_test, y_true): print("Test acc:", accuracy_score(y_true, y_pred)) plot_example_errors(y_pred, y_true, x_test) +def mix_data(split=0, X_train, y_train, X_validation, y_validation, train_gen, tr_labels_gen, val_gen, val_labels_gen): + + if split == 0: + train_data = X_train + train_labels = y_train + val_data = X_validation + val_labels = y_validation + + elif split == 1: + train_data = train_gen + train_labels = tr_labels_gen + val_data = val_gen + val_labels = val_labels_gen + + else: + X_train_gen, _, y_train_gen, _ = train_test_split(train_gen, tr_labels_gen, test_size=1-split, stratify=tr_labels_gen) + X_train_original, _, y_train_original, _ = train_test_split(X_train, y_train, test_size=split, stratify=y_train) + X_validation_gen, _, y_validation_gen, _ = train_test_split(val_gen, val_labels_gen, test_size=1-split, stratify=val_labels_gen) + X_validation_original, _, y_validation_original, _ = train_test_split(X_validation, y_validation, test_size=split, stratify=y_validation) + train_data = np.concatenate((X_train_gen, X_train_original), axis=0) + train_labels = np.concatenate((y_train_gen, y_train_original), axis=0) + val_data = np.concatenate((X_validation_gen, X_validation_original), axis=0) + val_labels = np.concatenate((y_validation_gen, y_validation_original), axis=0) + + return train_data, train_labels, val_data, val_labels + # If file run directly, perform quick test if __name__ == '__main__': x_train, y_train, x_val, y_val, x_t, y_t = import_mnist() |