experiments = experiments[400:] print("{} experiments about to run.".format(len(experiments))) for experiment in experiments: augment, batch_size, keep_prob, filters, ksize, config = experiment start_time = time.time() network = NN(epochs=5, batch_size=batch_size, learning_rate=0.001) features = np.concatenate([X_train, aug_X ]) if augment == 'True' else X_train labels = np.concatenate([y_train, aug_y]) if augment == 'True' else y_train network.add_train_data(features, labels) network.add_test_data(X_test, y_test) network.add_validation_data(X_valid, y_valid) network.add_configuration(create_network_config(config, filters, ksize), input_size=input_size) network.build(num_labels=num_labels) print( "Training model with hyperparameters: augmented: {}, batch_size: {}, keep_prob: {}, filters: {}, ksize: {}, config: {}" .format(augment, batch_size, keep_prob, filters, ksize, network.get_string())) validation_accuracy = network.train(keep_prob=keep_prob) end_time = time.time() stat_values = [ end_time - start_time, validation_accuracy, augment, batch_size, keep_prob, filters, ksize, network.get_string() ]
{ 'type': 'relu' }, { 'type': 'flatten' }, { 'type': 'fc', 'units': 128 }, { 'type': 'dropout' }, { 'type': 'relu' }, { 'type': 'fc', 'units': 43 } ] start_time = time.time() network = NN(epochs=50, batch_size=int(batch_size), learning_rate=0.001) features = np.concatenate([X_train, aug_X]) if augment == 'True' else X_train labels = np.concatenate([y_train, aug_y]) if augment == 'True' else y_train network.add_train_data(features, labels) network.add_test_data(X_test, y_test) network.add_validation_data(X_valid, y_valid) network.add_configuration(architecture, input_size=input_size) network.build(num_labels=num_labels) validation_accuracy = network.train(keep_prob=keep_prob, save_name="test" + str(idx)) end_time = time.time() test_accuracy = network.test(save_name="test" + str(idx)) try: stats = pd.read_csv('top_5_stats.csv') except: stats = pd.DataFrame() stat_values = [end_time - start_time, validation_accuracy, test_accuracy, augment, filters, ksize, batch_size, keep_prob, architecture_name] stat_entry = pd.Series(stat_values, index=stat_labels)