# The SVM baseline for SEMAINE
import shared_defs_SEMAINE
import data_preparation
import numpy

import mlp

(all_aus, train_recs, devel_recs, SEMAINE_dir, hog_data_dir) = shared_defs_SEMAINE.shared_defs()

pca_loc = "../pca_generation/generic_face_rigid"


# load the training and testing data for the current fold
[train_samples, train_labels, valid_samples, valid_labels, raw_valid, PC, means, scaling] = \
    data_preparation.Prepare_HOG_AU_data_generic_SEMAINE_dynamic(train_recs, devel_recs, all_aus, SEMAINE_dir,
                                                                 hog_data_dir, pca_loc, scale=False)

import validation_helpers

train_fn = mlp.train_mlp_probe
test_fn = mlp.test_mlp_class

hyperparams = {
   'batch_size': [100],
   'learning_rate': [0.2],
   'lambda_reg': [0.0001],
   'num_hidden': [100, 250, 400],
   'n_epochs': 1000,
   'error_func': 'cross_ent',
   'final_layer': ['tanh', 'sigmoid'],
   'validate_params': ["batch_size", "learning_rate", "lambda_reg", 'num_hidden']}
Exemple #2
0
# The SVM baseline for BO4D
import shared_defs_SEMAINE
import data_preparation

(all_aus, train_recs, devel_recs, SEMAINE_dir, hog_data_dir) = shared_defs_SEMAINE.shared_defs()

pca_loc = "../pca_generation/generic_face_rigid"

f = open("./trained/SEMAINE_train_dynamic_lin_svm_geometry.txt", 'w')

for au in all_aus:
               
    hyperparams = {"C": [0.000001, 0.00001, 0.0001, 0.001, 0.01, 0.1, 1, 10, 100, 1000], "validate_params": ["C"]}
    
    # load the training and testing data for the current fold
    [train_samples, train_labels, valid_samples, valid_labels, raw_valid, PC, means, scaling] = \
        data_preparation.Prepare_HOG_AU_data_generic_SEMAINE_dynamic(train_recs, devel_recs, [au],
                                                             SEMAINE_dir, hog_data_dir, pca_loc, geometry=True)

    import linear_SVM
    import validation_helpers
    
    train_fn = linear_SVM.train_SVM
    test_fn = linear_SVM.test_SVM

    # Cross-validate here                
    best_params, all_params = validation_helpers.validate_grid_search(train_fn, test_fn, False, train_samples,
                                                                      train_labels, valid_samples, valid_labels,
                                                                      hyperparams)

    model = train_fn(train_labels, train_samples, best_params)
# The SVM baseline for SEMAINE
import shared_defs_SEMAINE
import data_preparation

import logistic_regression

(all_aus, train_recs, devel_recs, SEMAINE_dir,
 hog_data_dir) = shared_defs_SEMAINE.shared_defs()

pca_loc = "../pca_generation/generic_face_rigid"

f = open("./trained/SEMAINE_train_static_log_reg.txt", 'w')

for au in all_aus:

    # load the training and testing data for the current fold
    [train_samples, train_labels, valid_samples, valid_labels, raw_valid, PC, means, scaling] = \
        data_preparation.Prepare_HOG_AU_data_generic_SEMAINE(train_recs, devel_recs, [au], SEMAINE_dir, hog_data_dir, pca_loc)

    import validation_helpers

    train_fn = logistic_regression.train_log_reg
    test_fn = logistic_regression.test_log_reg

    hyperparams = {
        'batch_size': [100],
        'learning_rate': [0.05, 0.1, 0.2],
        'lambda_reg': [0, 0.05, 0.1, 0.5],
        'n_epochs': 100,
        'validate_params': ["batch_size", "learning_rate", "lambda_reg"]
    }
import shared_defs_DISFA

import data_preparation
import numpy

import mlp

pca_loc = "../pca_generation/generic_face_rigid"

(all_aus_bp4d, train_recs, devel_recs, BP4D_dir, hog_data_dir) = shared_defs_BP4D.shared_defs()

# load the training and testing data for the current fold
[train_samples_bp4d, train_labels_bp4d, valid_samples_bp4d, valid_labels_bp4d, _, PC, means, scaling] = \
    data_preparation.Prepare_HOG_AU_data_generic_BP4D(train_recs, devel_recs, all_aus_bp4d, BP4D_dir, hog_data_dir, pca_loc, geometry=True)

(all_aus_semaine, train_recs, devel_recs, semaine_dir, hog_data_dir) = shared_defs_SEMAINE.shared_defs()

# load the training and testing data for the current fold
[train_samples_semaine, train_labels_semaine, valid_samples_semaine, valid_labels_semaine, _, PC, means, scaling] = \
    data_preparation.Prepare_HOG_AU_data_generic_SEMAINE(train_recs, devel_recs, all_aus_semaine,
                                                         semaine_dir, hog_data_dir, pca_loc, geometry=True)

(all_aus_disfa, train_recs, disfa_dir, hog_data_dir) = shared_defs_DISFA.shared_defs()
devel_recs = train_recs[0:1]
[train_samples_disfa, train_labels_disfa, _, _, _, PC, means, scaling] = \
    data_preparation.Prepare_HOG_AU_data_generic_DISFA(train_recs, devel_recs, all_aus_disfa,
                                                         disfa_dir, hog_data_dir, pca_loc, geometry=True)

# Binarise disfa labels
train_labels_disfa[train_labels_disfa > 1] = 1