In [1]:
import logging
logger = logging.getLogger()
logger.setLevel(logging.DEBUG)

import os;
import deepthought;
DATA_PATH = os.path.join(deepthought.DATA_PATH, 'rwanda2013rhythms');
MODEL_PATH = os.path.join(deepthought.OUTPUT_PATH, 'nips2014', 'models', 'h1');
OUTPUT_PATH = os.path.join(deepthought.OUTPUT_PATH, 'nips2014', 'figures', 'h1');
print 'data path  : {}'.format(DATA_PATH);
print 'model path : {}'.format(MODEL_PATH);
print 'output path: {}'.format(OUTPUT_PATH);


data path  : /Users/sstober/work/datasets/rwanda2013rhythms
model path : /Users/sstober/work/develop/deepthought-output/nips2014/models/h1
output path: /Users/sstober/work/develop/deepthought-output/nips2014/figures/h1
Using gpu device 0: GeForce GT 650M

In [2]:
# NOTE: this only needs to be done to generate new cache files
# WARNING: code seems to be broken due to library update! Do NOT run this!
# from deepthought.experiments.nips2014.scripts.extract_output import extract_output;
# for i in xrange(1,14):
#     subj_path = os.path.join(MODEL_PATH, str(i), 'best');
#     extract_output(subj_path);

In [2]:
# test with subject 4
# WARNING: code seems to be broken due to library update!
from deepthought.experiments.nips2014.scripts.generate_plots import load_results;
from deepthought.pylearn2ext.util import process_dataset;
path4 = os.path.join(MODEL_PATH, '4', 'best');
train, model = load_results(path4);
dataset = train.algorithm.monitoring_dataset['test'];
y_real, y_pred, output = process_dataset(model, dataset);


INFO:deepbeat.pylearn2ext.util:compiling output_fn...
Using gpu device 0: GeForce GT 650M
INFO:deepbeat.pylearn2ext.util:compiling output_fn done. Time elapsed: 0.422745 seconds
/Users/sstober/git/pylearn2/pylearn2/datasets/dense_design_matrix.py:1373: UserWarning: It looks like DefaultViewConverter.axes has been changed directly, please use the set_axes() method instead.
  "instead." % self.__class__.__name__)

In [6]:
# subject 4 analysis
from deepthought.experiments.nips2014.scripts.generate_plots import multi_level_accuracy_analysis
multi_level_accuracy_analysis(y_real, y_pred)


36.11% rhythm level accuracy (24 classes, chance level 4.17%)
46.88% rhythm pair level accuracy (12 classes, chance level 8.33%)
62.15% rhythm group level accuracy (4 classes, chance level 25.00%)
81.25% rhythm type level accuracy (2 classes, chance level 50.00%)

In [7]:
from deepthought.pylearn2ext.util import aggregate_classification
t_real, t_pred, t_predf, t_predp = aggregate_classification(dataset.trial_partitions, y_real, y_pred, output);  
multi_level_accuracy_analysis(t_real, t_pred);


50.00% rhythm level accuracy (24 classes, chance level 4.17%)
62.50% rhythm pair level accuracy (12 classes, chance level 8.33%)
75.00% rhythm group level accuracy (4 classes, chance level 25.00%)
83.33% rhythm type level accuracy (2 classes, chance level 50.00%)

In [8]:
multi_level_accuracy_analysis(t_real, t_predf);


50.00% rhythm level accuracy (24 classes, chance level 4.17%)
62.50% rhythm pair level accuracy (12 classes, chance level 8.33%)
75.00% rhythm group level accuracy (4 classes, chance level 25.00%)
87.50% rhythm type level accuracy (2 classes, chance level 50.00%)

In [3]:
import os
import numpy as np
import matplotlib.pyplot as plt;
import matplotlib as mpl
import prettyplotlib as ppl
from mpl_toolkits.axes_grid1 import make_axes_locatable
from sklearn.metrics import confusion_matrix,classification_report
import deepthought.util.fs_util as fs_util;

from deepthought.datasets.rwanda2013rhythms.LabelConverter import LabelConverter, swapped_meta_labels
import warnings
warnings.simplefilter('once', UserWarning)
warnings.simplefilter('default')
%matplotlib inline  

# avoid type3 fonts
mpl.rcParams['pdf.fonttype'] = 42
mpl.rcParams['ps.fonttype'] = 42

font = {
#         'family' : 'normal',
        'weight' : 'normal',
        'size'   : 24}

mpl.rc('font', **font)

colormap = 'binary'

def plot_confusion(cm, labels=None, filepath=None, vmax=13, title=None):
    if labels is None:
        labels = swapped_meta_labels
    fig = plt.figure(1, figsize=(10, 10), dpi=300)
    axes = plt.gca();
    
    # Show confusion matrix in a separate 
    im = axes.imshow(cm, cmap=colormap, interpolation="nearest", vmin=0, vmax=vmax)
    
    plt.ylabel('True label')
    plt.xlabel('Predicted label')
    
    if title is not None:
        plt.title(title)
    
    axes.set_xticks(xrange(24));
    axes.set_xticklabels(labels, rotation=90, fontsize=15)
    axes.set_yticks(xrange(24));
    axes.set_yticklabels(labels, fontsize=15)
    
    axes.tick_params(axis='both',which='both',bottom='off',top='off',left='off',right='off')
    
    # create an axes on the right side of ax. The width of cax will be 5%
    # of ax and the padding between cax and ax will be fixed at 0.05 inch.
    divider = make_axes_locatable(axes)
    cax = divider.append_axes("right", size="5%", pad=0.05)
    cbar = plt.colorbar(im, cax=cax)
    cbar.set_ticks(xrange(vmax+1));
    cbar.set_ticklabels(xrange(vmax+1));
        
    if filepath is not None:
        plt.savefig(filepath, bbox_inches='tight')
    plt.show()
    
def plot_small_confusion(cm, labels=None, filepath=None, vmax=13, title=None):
    fig = plt.figure(1, figsize=(5, 5), dpi=300)
    axes = plt.gca();
    
    im = axes.imshow(cm, cmap=colormap, interpolation="nearest", vmin=0, vmax=vmax)
    axes.xaxis.set_visible(False)
    axes.yaxis.set_visible(False)
    
    if title is not None:
        plt.title(title)
    
    if filepath is not None:
        plt.savefig(filepath, bbox_inches='tight')
    plt.show()

def generate_confusion_plot(path, filepath=None, title=None):

    output_file = os.path.join(path, 'cache', 'test_output.pklz');
    y_real, y_pred, output = fs_util.load(output_file);
    
    cm = confusion_matrix(np.hstack(y_real), np.hstack(y_pred))
    
    shuffle_classes = LabelConverter().shuffle_classes;
    cmt = np.zeros([24,24]);
    for i in xrange(24):
        for j in xrange(24):
            cmt[shuffle_classes[i],shuffle_classes[j]] = cm[i,j];
    cm = cmt;

    if filepath is not None:
        plot_confusion(cm, filepath=filepath, title=title);

    return cm;

In [4]:
cm_sum = np.zeros([24,24]);
cm_max = 0;
for i in xrange(1,14):
    subj_path = os.path.join(MODEL_PATH, str(i), 'best');
    cm = generate_confusion_plot(subj_path, filepath=os.path.join(OUTPUT_PATH, '24confusion_{}.pdf'.format(i)), title='subject {}'.format(i));
    plot_small_confusion(cm, filepath=os.path.join(OUTPUT_PATH, '24confusion_{}_small.pdf'.format(i)), title='subject {}'.format(i));
    cm_max = np.max([cm_max, np.max(cm)]);
    cm_sum += cm / 13.;

print 'max = '+str(cm_max)
print 'max (sum) = '+str(np.max(cm_sum))
plot_confusion(cm_sum, filepath=os.path.join(OUTPUT_PATH,'24confusion-combined.pdf'), vmax=6, title='mean of all subjects');


-c:89: DeprecationWarning: using a non-integer number instead of an integer will result in an error in the future
max = 13.0
max (sum) = 5.46153846154

In [5]:
import numpy as np;
best = np.asarray([
        0.809028, # 0.815972, # 0.829861,
        0.736111, # 0.729167, # 0.729167,  # was 0.746528 for 45
        0.802083, # 0.781250, # 0.829861,  # was 0.774306 for 45
        0.642361, # 0.638889, # 0.684028,
        0.822917, # 0.819444, # 0.854167,
        
        0.705128, # 0.724359, # 0.701923, # worse
        0.782051, # 0.769231, # 0.801282,  # was 0.762821 for 45
        0.759615, # 0.766026, # 0.875000,  # was 0.826923 for 45
        0.782051, # 0.791667, # much worse 0.717949,  # was 0.711538 for 45
        0.762820, # 0.733974, # 0.714744,
        
        0.740385, # 0.733974, # 0.772436,
        0.679487, # 0.721154, # 0.737179,
        0.798077, # 0.798077, # 0.807692
        
        0.905000,
        0.908708,
        0.927591,
        # TODO: add fast,slow,all
        ]);

acc = 100 * (1-best)

for a in acc:
    print '{:.1f}'.format(a);
    
for i,a in enumerate(acc):
    print '{} {:.1f}'.format(i+1,a);
    
print 'mean: {:.1f}'.format(acc[0:13].mean());


19.1
26.4
19.8
35.8
17.7
29.5
21.8
24.0
21.8
23.7
26.0
32.1
20.2
9.5
9.1
7.2
1 19.1
2 26.4
3 19.8
4 35.8
5 17.7
6 29.5
7 21.8
8 24.0
9 21.8
10 23.7
11 26.0
12 32.1
13 20.2
14 9.5
15 9.1
16 7.2
mean: 24.4

In [6]:
import numpy as np;
import os, gzip, cPickle;

y_real = [];
y_pred = [];
output = [];

paths = [];
for i in xrange(13):
    paths.append(os.path.join(MODEL_PATH, '{}'.format(i+1), 'best'));

paths.append(os.path.join(MODEL_PATH, 'fast', 'best'));
paths.append(os.path.join(MODEL_PATH, 'slow', 'best'));
paths.append(os.path.join(MODEL_PATH, 'all', 'best'));

for experiment_path in paths:
    file_path = os.path.join(experiment_path, 'cache', 'test_output.pklz');
    with gzip.open(file_path, 'rb') as f:
        _y_real, _y_pred, _output = cPickle.load(f)
        y_real.append(_y_real);
        y_pred.append(_y_pred);
        output.append(_output);
        del _y_real, _y_pred, _output;
        print file_path;
y_real = np.asarray(y_real);
y_pred = np.asarray(y_pred);
output = np.asarray(output);
print y_real.shape
print y_pred.shape
print output.shape


/Users/sstober/work/develop/deepthought-output/nips2014/models/h1/1/best/cache/test_output.pklz
/Users/sstober/work/develop/deepthought-output/nips2014/models/h1/2/best/cache/test_output.pklz
/Users/sstober/work/develop/deepthought-output/nips2014/models/h1/3/best/cache/test_output.pklz
/Users/sstober/work/develop/deepthought-output/nips2014/models/h1/4/best/cache/test_output.pklz
/Users/sstober/work/develop/deepthought-output/nips2014/models/h1/5/best/cache/test_output.pklz
/Users/sstober/work/develop/deepthought-output/nips2014/models/h1/6/best/cache/test_output.pklz
/Users/sstober/work/develop/deepthought-output/nips2014/models/h1/7/best/cache/test_output.pklz
/Users/sstober/work/develop/deepthought-output/nips2014/models/h1/8/best/cache/test_output.pklz
/Users/sstober/work/develop/deepthought-output/nips2014/models/h1/9/best/cache/test_output.pklz
/Users/sstober/work/develop/deepthought-output/nips2014/models/h1/10/best/cache/test_output.pklz
/Users/sstober/work/develop/deepthought-output/nips2014/models/h1/11/best/cache/test_output.pklz
/Users/sstober/work/develop/deepthought-output/nips2014/models/h1/12/best/cache/test_output.pklz
/Users/sstober/work/develop/deepthought-output/nips2014/models/h1/13/best/cache/test_output.pklz
/Users/sstober/work/develop/deepthought-output/nips2014/models/h1/fast/best/cache/test_output.pklz
/Users/sstober/work/develop/deepthought-output/nips2014/models/h1/slow/best/cache/test_output.pklz
/Users/sstober/work/develop/deepthought-output/nips2014/models/h1/all/best/cache/test_output.pklz
(16,)
(16,)
(16,)

In [8]:
from deepthought.experiments.nips2014.scripts.generate_plots import load_results;
datasets = [];
params = [];
params1 = [];
for experiment_path in paths:
#     subject_path = os.path.join(path, '{}'.format(i+1), 'best');
    train = load_results(experiment_path)[0];
    datasets.append(train.algorithm.monitoring_dataset['test']);
    layer0 = train.model.layers[0];
    params.append({
                    'input_shape' : train.model.input_space.shape,
                    'output_channels' : layer0.output_channels,
                    'kernel_shape' : layer0.kernel_shape,
                    'pool_shape' : layer0.pool_shape,        
                  });
    layer1 = train.model.layers[1];
    params1.append({
                    'output_channels' : layer1.output_channels,
                    'kernel_shape' : layer1.kernel_shape,
                    'pool_shape' : layer1.pool_shape,        
                  });


/Users/sstober/git/deepbeat/deepbeat/code/deepthought/util/config_util.py:8: ImportWarning: Not importing directory '/Users/sstober/.virtualenvs/deep-learning/lib/python2.7/config': missing __init__.py
  from config import Config, ConfigMerger, overwriteMergeResolve;
/Users/sstober/git/deepbeat/deepbeat/code/deepthought/util/config_util.py:8: ImportWarning: Not importing directory '/usr/local/Cellar/python/2.7.8_1/Frameworks/Python.framework/Versions/2.7/lib/python2.7/config': missing __init__.py
  from config import Config, ConfigMerger, overwriteMergeResolve;
INFO:deepthought.experiments.nips2014.scripts.generate_plots:loading model from /Users/sstober/work/develop/deepthought-output/nips2014/models/h1/1/best/mlp_best.pkl...
INFO:deepthought.experiments.nips2014.scripts.generate_plots:loading model from /Users/sstober/work/develop/deepthought-output/nips2014/models/h1/1/best/mlp_best.pkl done. Time elapsed: 0.177730 seconds
INFO:deepthought.datasets.rwanda2013rhythms.PathLocalizer:changing data path to: /Users/sstober/work/datasets/rwanda2013rhythms/eeg
INFO:deepthought.experiments.nips2014.scripts.generate_plots:loading train from /Users/sstober/work/develop/deepthought-output/nips2014/models/h1/1/best/train.yaml...
INFO:deepthought.util.yaml_util:parsing yaml...
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub001TN010613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub002DI010613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub003TN020613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub004DN040613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub005NE040613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub006PN040613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub007FB050613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub008MN050613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub009DK050613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub010DO060613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub011AM060613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub012RN060613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub013MI080613/dataset_13goodchannels_plus4s.pklz
INFO:deepthought.datasets.rwanda2013rhythms.EEGDataset:loading data from /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub001TN010613/dataset_13goodchannels_plus4s.pklz...
INFO:deepthought.datasets.rwanda2013rhythms.EEGDataset:loading data from /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub001TN010613/dataset_13goodchannels_plus4s.pklz done. Time elapsed: 0.660832 seconds
/Users/sstober/git/deepbeat/deepbeat/code/deepthought/datasets/rwanda2013rhythms/EEGDataset.py:243: UserWarning: pylearn2.utils.one_hot is deprecated. Use pylearn2.format.target_format.OneHotFormatter instead. pylearn2.utils.one_hot will be removed on or after 13 August 2014
  one_hot_y = one_hot(labels);
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:final dataset shape: (288, 33, 49, 1) (b,0,1,c)
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:generated dataset "test" with shape X=(288, 1617) y=(288, 24) labels=(288,) 
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub001TN010613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub002DI010613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub003TN020613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub004DN040613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub005NE040613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub006PN040613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub007FB050613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub008MN050613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub009DK050613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub010DO060613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub011AM060613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub012RN060613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub013MI080613/dataset_13goodchannels_plus4s.pklz
INFO:deepthought.datasets.rwanda2013rhythms.EEGDataset:loading data from /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub001TN010613/dataset_13goodchannels_plus4s.pklz...
INFO:deepthought.datasets.rwanda2013rhythms.EEGDataset:loading data from /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub001TN010613/dataset_13goodchannels_plus4s.pklz done. Time elapsed: 0.907579 seconds
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:final dataset shape: (3744, 33, 49, 1) (b,0,1,c)
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:generated dataset "train" with shape X=(3744, 1617) y=(3744, 24) labels=(3744,) 
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub001TN010613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub002DI010613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub003TN020613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub004DN040613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub005NE040613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub006PN040613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub007FB050613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub008MN050613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub009DK050613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub010DO060613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub011AM060613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub012RN060613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub013MI080613/dataset_13goodchannels_plus4s.pklz
INFO:deepthought.datasets.rwanda2013rhythms.EEGDataset:loading data from /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub001TN010613/dataset_13goodchannels_plus4s.pklz...
INFO:deepthought.datasets.rwanda2013rhythms.EEGDataset:loading data from /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub001TN010613/dataset_13goodchannels_plus4s.pklz done. Time elapsed: 0.639573 seconds
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:final dataset shape: (288, 33, 49, 1) (b,0,1,c)
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:generated dataset "valid" with shape X=(288, 1617) y=(288, 24) labels=(288,) 
None
!obj:pylearn2.train.Train {
    dataset: &train !obj:deepbeat.eeg.EEGDataset.EEGDataset {
        name : 'train',
        path : /Users/sstober/work/datasets/rwanda2013rhythms/eeg,
        suffix : _13goodchannels_plus4s,
        subjects : [0],
        resample : [400,400],
        # start_sample : 864,
        start_sample : 1184,
        stop_sample  : 11936,                   # None (empty) = end of sequence 
        frame_size : 33,
        hop_size : 33,
        label_mode : rhythm,
        n_fft : 96,                      # None (empty) = raw signal
        n_freq_bins : 49,
        include_phase : False,
        spectrum_log_amplitude : True,
        spectrum_normalization_mode : linear_0_1,
    },
    
    model: &model !obj:pylearn2.models.mlp.MLP {
        seed : 13,                                        # controls initialization
        batch_size: 100,
        input_space: !obj:pylearn2.space.Conv2DSpace {
                        shape: [33, 49],                  # just 1d
                        num_channels: 1,
                    },
        layers: [
                !obj:pylearn2.models.mlp.ConvRectifiedLinear {
                    layer_name: 'h0',
                    output_channels: 16,            # number of feature maps
                    irange: 0.050000,
                    # init_bias: ,                    
                    # max_kernel_norm: 1.9365,
                    kernel_shape: [5, 49],         
                    pool_shape: [3, 1],                # if 1 -> no aggregation / smoothing / time-invariance
                    pool_stride: [1, 1],             # if 1 -> no sub-sampling / dimension reduction
                    pool_type: 'max',
                    tied_b: True
                },

                !obj:pylearn2.models.mlp.ConvRectifiedLinear {
                    layer_name: 'h1',
                    output_channels: 12,            # number of feature maps
                    irange: 0.050000,
                    # init_bias: ,
                    # max_kernel_norm: 1.9365,
                    kernel_shape: [16, 1],
                    pool_shape: [5, 1],                # if 1 -> no aggregation / smoothing / time-invariance
                    pool_stride: [1, 1],             # if 1 -> no sub-sampling / dimension reduction
                    pool_type: 'max',
                    tied_b: True
                },

                !obj:deepbeat.pylearn2ext.HingeLoss.HingeLoss {
                    # max_col_norm: 1.9365,
                    layer_name: 'y',
                    n_classes: 24,
                    irange: 0.050000,
                    # istdev: .05,
                    # max_col_norm: 1.9365,
                 }
                
               ]
    },
    
    algorithm: !obj:pylearn2.training_algorithms.sgd.SGD {
        seed: 13,                                  # controls dataset traversal
        batch_size: 100,
        learning_rate: 0.00685389225177,

        monitoring_dataset:
            {
                'train' : *train,
                'valid'  : &valid !obj:deepbeat.eeg.EEGDataset.EEGDataset {
                                name : 'valid',
                                path : /Users/sstober/work/datasets/rwanda2013rhythms/eeg, 
                                suffix : _13goodchannels_plus4s,
                                subjects : [0],
                                resample : [400,400],
                                start_sample : 320,
                                stop_sample  : 1184, # None (empty) = end of sequence 
                                frame_size : 33,
                                hop_size : 33,           
                                label_mode : rhythm,
                                n_fft : 96,
                                n_freq_bins : 49,
                                include_phase : False,
                                spectrum_log_amplitude : True,
                                spectrum_normalization_mode : linear_0_1,
                            },
                'test'  : &test !obj:deepbeat.eeg.EEGDataset.EEGDataset {
                                name : 'test',
                                path : /Users/sstober/work/datasets/rwanda2013rhythms/eeg, 
                                suffix : _13goodchannels_plus4s,
                                subjects : [0],
                                resample : [400,400],
                                start_sample : 11936,
                                stop_sample  : 12800,    # None (empty) = end of sequence 
                                frame_size : 33,
                                hop_size : 33,           
                                label_mode : rhythm,
                                n_fft : 96,
                                n_freq_bins : 49,
                                include_phase : False,
                                spectrum_log_amplitude : True,
                                spectrum_normalization_mode : linear_0_1,
                            },
            },
        # cost: &cost !obj:pylearn2.models.mlp.Default {},
        
        cost: &cost
        #     # !obj:pylearn2.costs.cost.SumOfCosts { 
        #     #     costs: [
                    !obj:pylearn2.costs.mlp.dropout.Dropout {
                        input_include_probs: { 'h0' : .8 },
                            input_scales: { 'h0': 1. }
                    },
        #             # !obj:pylearn2.costs.mlp.L1WeightDecay {
        #             #     coeffs: [1e-05, 1e-05, 1e-05, 1e-05, 1e-05], #[ .000001, .000001, .000001, .000001 ]
        #             # },
        #             # !obj:pylearn2.costs.mlp.WeightDecay {
        #             #     coeffs: [1e-05, 1e-05, 1e-05, 1e-05, 1e-05], #[ .000005, .000005, .000005, .000005 ]
        #             # },
        #     #     ]
        #     # },

        termination_criterion: 
            # !obj:pylearn2.termination_criteria.And {
                # criteria: [
                    # !obj:pylearn2.termination_criteria.MonitorBased {
                    #     channel_name: "valid_y_misclass",
                    #     prop_decrease: 0.50,
                    #     N: 10
                    # },
                    !obj:pylearn2.termination_criteria.EpochCounter {
                        max_epochs: 50
                    },
                # ]
            # },

        learning_rule: 
            !obj:pylearn2.training_algorithms.learning_rule.Momentum {
                init_momentum: 0.500000,
            },
            # !obj:pylearn2.training_algorithms.learning_rule.AdaDelta {},

    },
    
    extensions:
        [
            # like pylearn2.training_algorithms.sgd.ExponentialDecay
            # but only applied once per epoch (i.e. independent of batch_size)
            # decay factor needs to be adjusted as x ** num_batches_per_epoch
            !obj:deepbeat.pylearn2ext.ExponentialDecay.ExponentialDecay {
                decay_factor: 1.007220, 
                min_lr: 0.000001, 
            },

            !obj:pylearn2.training_algorithms.learning_rule.MomentumAdjustor {
                start: 1,
                saturate: 50,
                final_momentum: 0.990000,
            },            
             
            !obj:deepbeat.pylearn2ext.util.LoggingCallback {
                name: '20304_h0_pattern_width_5_h0_patterns_16_h0_pool_size_3_h1_pattern_width_16_h1_patterns_12_h1_pool_size_5_learning_rate_0.00685389225177_lr_exponential_decay_factor_1.0072195126',
                obj_channels: ['train_objective', 'train_y_misclass', 'valid_y_misclass', 'test_y_misclass'],
            },

            # should be extension last (after all computations are done)
            !obj:pylearn2.train_extensions.best_params.MonitorBasedSaveBest {
                channel_name: 'valid_y_misclass',
                higher_is_better: False,
                save_path: "/imaging/sstober/spearmint.jobs/nips/h1_norestriction.all/1/cache/_h0_pattern_width_5_h0_patterns_16_h0_pool_size_3_h1_pattern_width_16_h1_patterns_12_h1_pool_size_5_learning_rate_0.00685389225177_lr_exponential_decay_factor_1.0072195126/mlp_best.pkl",
            },

            # !obj:deepbeat.pylearn2ext.util.SaveEveryEpoch {
            #     save_path: "/imaging/sstober/spearmint.jobs/nips/h1_norestriction.all/1/cache/_h0_pattern_width_5_h0_patterns_16_h0_pool_size_3_h1_pattern_width_16_h1_patterns_12_h1_pool_size_5_learning_rate_0.00685389225177_lr_exponential_decay_factor_1.0072195126/epochs/",
            #     save_prefix: "epoch",
            # },
    ],
    
    save_freq: 1,
    save_path: "/imaging/sstober/spearmint.jobs/nips/h1_norestriction.all/1/cache/_h0_pattern_width_5_h0_patterns_16_h0_pool_size_3_h1_pattern_width_16_h1_patterns_12_h1_pool_size_5_learning_rate_0.00685389225177_lr_exponential_decay_factor_1.0072195126/mlp.pkl",
    allow_overwrite: True,
}

Input shape: (33, 49)
/Users/sstober/git/deepbeat/deepbeat/code/deepthought/pylearn2ext/HingeLoss.py:29: UserWarning: constructor modified!!!
  warnings.warn("constructor modified!!!");
Detector space: (29, 1)
Output space: (27, 1)
/Users/sstober/.virtualenvs/deep-learning/lib/python2.7/site-packages/theano/tensor/subtensor.py:110: FutureWarning: comparison to `None` will result in an elementwise object comparison in the future.
  start in [None, 0] or
/Users/sstober/.virtualenvs/deep-learning/lib/python2.7/site-packages/theano/tensor/subtensor.py:114: FutureWarning: comparison to `None` will result in an elementwise object comparison in the future.
  stop in [None, length, maxsize] or
/Users/sstober/.virtualenvs/deep-learning/lib/python2.7/site-packages/theano/tensor/subtensor.py:190: FutureWarning: comparison to `None` will result in an elementwise object comparison in the future.
  if stop in [None, maxsize]:
/Users/sstober/.virtualenvs/deep-learning/lib/python2.7/site-packages/theano/tensor/opt.py:2165: FutureWarning: comparison to `None` will result in an elementwise object comparison in the future.
  if (replace_x == replace_y and
Input shape: (27, 1)
Detector space: (12, 1)
Output space: (8, 1)
INFO:deepthought.util.yaml_util:parsing yaml done. Time elapsed: 2.825271 seconds
INFO:deepthought.experiments.nips2014.scripts.generate_plots:loading train from /Users/sstober/work/develop/deepthought-output/nips2014/models/h1/1/best/train.yaml done. Time elapsed: 2.826200 seconds
INFO:deepthought.experiments.nips2014.scripts.generate_plots:loading model from /Users/sstober/work/develop/deepthought-output/nips2014/models/h1/2/best/mlp_best.pkl...
INFO:deepthought.experiments.nips2014.scripts.generate_plots:loading model from /Users/sstober/work/develop/deepthought-output/nips2014/models/h1/2/best/mlp_best.pkl done. Time elapsed: 0.231381 seconds
INFO:deepthought.datasets.rwanda2013rhythms.PathLocalizer:changing data path to: /Users/sstober/work/datasets/rwanda2013rhythms/eeg
INFO:deepthought.experiments.nips2014.scripts.generate_plots:loading train from /Users/sstober/work/develop/deepthought-output/nips2014/models/h1/2/best/train.yaml...
INFO:deepthought.util.yaml_util:parsing yaml...
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub001TN010613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub002DI010613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub003TN020613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub004DN040613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub005NE040613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub006PN040613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub007FB050613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub008MN050613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub009DK050613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub010DO060613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub011AM060613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub012RN060613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub013MI080613/dataset_13goodchannels_plus4s.pklz
INFO:deepthought.datasets.rwanda2013rhythms.EEGDataset:loading data from /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub002DI010613/dataset_13goodchannels_plus4s.pklz...
INFO:deepthought.datasets.rwanda2013rhythms.EEGDataset:loading data from /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub002DI010613/dataset_13goodchannels_plus4s.pklz done. Time elapsed: 0.723953 seconds
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:final dataset shape: (288, 33, 49, 1) (b,0,1,c)
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:generated dataset "test" with shape X=(288, 1617) y=(288, 24) labels=(288,) 
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub001TN010613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub002DI010613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub003TN020613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub004DN040613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub005NE040613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub006PN040613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub007FB050613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub008MN050613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub009DK050613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub010DO060613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub011AM060613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub012RN060613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub013MI080613/dataset_13goodchannels_plus4s.pklz
INFO:deepthought.datasets.rwanda2013rhythms.EEGDataset:loading data from /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub002DI010613/dataset_13goodchannels_plus4s.pklz...
INFO:deepthought.datasets.rwanda2013rhythms.EEGDataset:loading data from /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub002DI010613/dataset_13goodchannels_plus4s.pklz done. Time elapsed: 0.933754 seconds
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:final dataset shape: (3744, 33, 49, 1) (b,0,1,c)
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:generated dataset "train" with shape X=(3744, 1617) y=(3744, 24) labels=(3744,) 
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub001TN010613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub002DI010613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub003TN020613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub004DN040613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub005NE040613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub006PN040613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub007FB050613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub008MN050613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub009DK050613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub010DO060613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub011AM060613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub012RN060613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub013MI080613/dataset_13goodchannels_plus4s.pklz
INFO:deepthought.datasets.rwanda2013rhythms.EEGDataset:loading data from /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub002DI010613/dataset_13goodchannels_plus4s.pklz...
INFO:deepthought.datasets.rwanda2013rhythms.EEGDataset:loading data from /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub002DI010613/dataset_13goodchannels_plus4s.pklz done. Time elapsed: 0.654930 seconds
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:final dataset shape: (288, 33, 49, 1) (b,0,1,c)
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:generated dataset "valid" with shape X=(288, 1617) y=(288, 24) labels=(288,) 
None
!obj:pylearn2.train.Train {
    dataset: &train !obj:deepbeat.eeg.EEGDataset.EEGDataset {
        name : 'train',
        path : /Users/sstober/work/datasets/rwanda2013rhythms/eeg,
        suffix : _13goodchannels_plus4s,
        subjects : [1],
        resample : [400,400],
        # start_sample : 864,
        start_sample : 1184,
        stop_sample  : 11936,                   # None (empty) = end of sequence 
        frame_size : 33,
        hop_size : 33,
        label_mode : rhythm,
        n_fft : 96,                      # None (empty) = raw signal
        n_freq_bins : 49,
        include_phase : False,
        spectrum_log_amplitude : True,
        spectrum_normalization_mode : linear_0_1,
    },
    
    model: &model !obj:pylearn2.models.mlp.MLP {
        seed : 13,                                        # controls initialization
        batch_size: 100,
        input_space: !obj:pylearn2.space.Conv2DSpace {
                        shape: [33, 49],                  # just 1d
                        num_channels: 1,
                    },
        layers: [
                !obj:pylearn2.models.mlp.ConvRectifiedLinear {
                    layer_name: 'h0',
                    output_channels: 25,            # number of feature maps
                    irange: 0.050000,
                    # init_bias: ,                    
                    # max_kernel_norm: 1.9365,
                    kernel_shape: [5, 49],         
                    pool_shape: [1, 1],                # if 1 -> no aggregation / smoothing / time-invariance
                    pool_stride: [1, 1],             # if 1 -> no sub-sampling / dimension reduction
                    pool_type: 'max',
                    tied_b: True
                },

                !obj:pylearn2.models.mlp.ConvRectifiedLinear {
                    layer_name: 'h1',
                    output_channels: 30,            # number of feature maps
                    irange: 0.050000,
                    # init_bias: ,
                    # max_kernel_norm: 1.9365,
                    kernel_shape: [13, 1],
                    pool_shape: [8, 1],                # if 1 -> no aggregation / smoothing / time-invariance
                    pool_stride: [1, 1],             # if 1 -> no sub-sampling / dimension reduction
                    pool_type: 'max',
                    tied_b: True
                },

                !obj:deepbeat.pylearn2ext.HingeLoss.HingeLoss {
                    # max_col_norm: 1.9365,
                    layer_name: 'y',
                    n_classes: 24,
                    irange: 0.050000,
                    # istdev: .05,
                    # max_col_norm: 1.9365,
                 }
                
               ]
    },
    
    algorithm: !obj:pylearn2.training_algorithms.sgd.SGD {
        seed: 13,                                  # controls dataset traversal
        batch_size: 100,
        learning_rate: 0.00793219472074,

        monitoring_dataset:
            {
                'train' : *train,
                'valid'  : &valid !obj:deepbeat.eeg.EEGDataset.EEGDataset {
                                name : 'valid',
                                path : /Users/sstober/work/datasets/rwanda2013rhythms/eeg, 
                                suffix : _13goodchannels_plus4s,
                                subjects : [1],
                                resample : [400,400],
                                start_sample : 320,
                                stop_sample  : 1184, # None (empty) = end of sequence 
                                frame_size : 33,
                                hop_size : 33,           
                                label_mode : rhythm,
                                n_fft : 96,
                                n_freq_bins : 49,
                                include_phase : False,
                                spectrum_log_amplitude : True,
                                spectrum_normalization_mode : linear_0_1,
                            },
                'test'  : &test !obj:deepbeat.eeg.EEGDataset.EEGDataset {
                                name : 'test',
                                path : /Users/sstober/work/datasets/rwanda2013rhythms/eeg, 
                                suffix : _13goodchannels_plus4s,
                                subjects : [1],
                                resample : [400,400],
                                start_sample : 11936,
                                stop_sample  : 12800,    # None (empty) = end of sequence 
                                frame_size : 33,
                                hop_size : 33,           
                                label_mode : rhythm,
                                n_fft : 96,
                                n_freq_bins : 49,
                                include_phase : False,
                                spectrum_log_amplitude : True,
                                spectrum_normalization_mode : linear_0_1,
                            },
            },
        # cost: &cost !obj:pylearn2.models.mlp.Default {},
        
        cost: &cost
        #     # !obj:pylearn2.costs.cost.SumOfCosts { 
        #     #     costs: [
                    !obj:pylearn2.costs.mlp.dropout.Dropout {
                        input_include_probs: { 'h0' : .8 },
                            input_scales: { 'h0': 1. }
                    },
        #             # !obj:pylearn2.costs.mlp.L1WeightDecay {
        #             #     coeffs: [1e-05, 1e-05, 1e-05, 1e-05, 1e-05], #[ .000001, .000001, .000001, .000001 ]
        #             # },
        #             # !obj:pylearn2.costs.mlp.WeightDecay {
        #             #     coeffs: [1e-05, 1e-05, 1e-05, 1e-05, 1e-05], #[ .000005, .000005, .000005, .000005 ]
        #             # },
        #     #     ]
        #     # },

        termination_criterion: 
            # !obj:pylearn2.termination_criteria.And {
                # criteria: [
                    # !obj:pylearn2.termination_criteria.MonitorBased {
                    #     channel_name: "valid_y_misclass",
                    #     prop_decrease: 0.50,
                    #     N: 10
                    # },
                    !obj:pylearn2.termination_criteria.EpochCounter {
                        max_epochs: 50
                    },
                # ]
            # },

        learning_rule: 
            !obj:pylearn2.training_algorithms.learning_rule.Momentum {
                init_momentum: 0.500000,
            },
            # !obj:pylearn2.training_algorithms.learning_rule.AdaDelta {},

    },
    
    extensions:
        [
            # like pylearn2.training_algorithms.sgd.ExponentialDecay
            # but only applied once per epoch (i.e. independent of batch_size)
            # decay factor needs to be adjusted as x ** num_batches_per_epoch
            !obj:deepbeat.pylearn2ext.ExponentialDecay.ExponentialDecay {
                decay_factor: 1.061322, 
                min_lr: 0.000001, 
            },

            !obj:pylearn2.training_algorithms.learning_rule.MomentumAdjustor {
                start: 1,
                saturate: 50,
                final_momentum: 0.990000,
            },            
             
            !obj:deepbeat.pylearn2ext.util.LoggingCallback {
                name: '20428_h0_pattern_width_5_h0_patterns_25_h0_pool_size_1_h1_pattern_width_13_h1_patterns_30_h1_pool_size_8_learning_rate_0.00793219472074_lr_exponential_decay_factor_1.06132196874',
                obj_channels: ['train_objective', 'train_y_misclass', 'valid_y_misclass', 'test_y_misclass'],
            },

            # should be extension last (after all computations are done)
            !obj:pylearn2.train_extensions.best_params.MonitorBasedSaveBest {
                channel_name: 'valid_y_misclass',
                higher_is_better: False,
                save_path: "/imaging/sstober/spearmint.jobs/nips/h1_norestriction.all/2/cache/_h0_pattern_width_5_h0_patterns_25_h0_pool_size_1_h1_pattern_width_13_h1_patterns_30_h1_pool_size_8_learning_rate_0.00793219472074_lr_exponential_decay_factor_1.06132196874/mlp_best.pkl",
            },

            # !obj:deepbeat.pylearn2ext.util.SaveEveryEpoch {
            #     save_path: "/imaging/sstober/spearmint.jobs/nips/h1_norestriction.all/2/cache/_h0_pattern_width_5_h0_patterns_25_h0_pool_size_1_h1_pattern_width_13_h1_patterns_30_h1_pool_size_8_learning_rate_0.00793219472074_lr_exponential_decay_factor_1.06132196874/epochs/",
            #     save_prefix: "epoch",
            # },
    ],
    
    save_freq: 1,
    save_path: "/imaging/sstober/spearmint.jobs/nips/h1_norestriction.all/2/cache/_h0_pattern_width_5_h0_patterns_25_h0_pool_size_1_h1_pattern_width_13_h1_patterns_30_h1_pool_size_8_learning_rate_0.00793219472074_lr_exponential_decay_factor_1.06132196874/mlp.pkl",
    allow_overwrite: True,
}

Input shape: (33, 49)
Detector space: (29, 1)
Output space: (29, 1)
Input shape: (29, 1)
Detector space: (17, 1)
Output space: (10, 1)
INFO:deepthought.util.yaml_util:parsing yaml done. Time elapsed: 3.182712 seconds
INFO:deepthought.experiments.nips2014.scripts.generate_plots:loading train from /Users/sstober/work/develop/deepthought-output/nips2014/models/h1/2/best/train.yaml done. Time elapsed: 3.183414 seconds
INFO:deepthought.experiments.nips2014.scripts.generate_plots:loading model from /Users/sstober/work/develop/deepthought-output/nips2014/models/h1/3/best/mlp_best.pkl...
INFO:deepthought.experiments.nips2014.scripts.generate_plots:loading model from /Users/sstober/work/develop/deepthought-output/nips2014/models/h1/3/best/mlp_best.pkl done. Time elapsed: 0.177711 seconds
INFO:deepthought.datasets.rwanda2013rhythms.PathLocalizer:changing data path to: /Users/sstober/work/datasets/rwanda2013rhythms/eeg
INFO:deepthought.experiments.nips2014.scripts.generate_plots:loading train from /Users/sstober/work/develop/deepthought-output/nips2014/models/h1/3/best/train.yaml...
INFO:deepthought.util.yaml_util:parsing yaml...
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub001TN010613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub002DI010613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub003TN020613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub004DN040613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub005NE040613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub006PN040613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub007FB050613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub008MN050613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub009DK050613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub010DO060613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub011AM060613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub012RN060613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub013MI080613/dataset_13goodchannels_plus4s.pklz
INFO:deepthought.datasets.rwanda2013rhythms.EEGDataset:loading data from /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub003TN020613/dataset_13goodchannels_plus4s.pklz...
INFO:deepthought.datasets.rwanda2013rhythms.EEGDataset:loading data from /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub003TN020613/dataset_13goodchannels_plus4s.pklz done. Time elapsed: 0.656247 seconds
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:final dataset shape: (288, 33, 49, 1) (b,0,1,c)
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:generated dataset "test" with shape X=(288, 1617) y=(288, 24) labels=(288,) 
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub001TN010613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub002DI010613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub003TN020613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub004DN040613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub005NE040613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub006PN040613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub007FB050613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub008MN050613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub009DK050613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub010DO060613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub011AM060613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub012RN060613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub013MI080613/dataset_13goodchannels_plus4s.pklz
INFO:deepthought.datasets.rwanda2013rhythms.EEGDataset:loading data from /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub003TN020613/dataset_13goodchannels_plus4s.pklz...
INFO:deepthought.datasets.rwanda2013rhythms.EEGDataset:loading data from /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub003TN020613/dataset_13goodchannels_plus4s.pklz done. Time elapsed: 0.887800 seconds
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:final dataset shape: (3744, 33, 49, 1) (b,0,1,c)
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:generated dataset "train" with shape X=(3744, 1617) y=(3744, 24) labels=(3744,) 
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub001TN010613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub002DI010613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub003TN020613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub004DN040613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub005NE040613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub006PN040613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub007FB050613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub008MN050613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub009DK050613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub010DO060613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub011AM060613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub012RN060613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub013MI080613/dataset_13goodchannels_plus4s.pklz
INFO:deepthought.datasets.rwanda2013rhythms.EEGDataset:loading data from /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub003TN020613/dataset_13goodchannels_plus4s.pklz...
INFO:deepthought.datasets.rwanda2013rhythms.EEGDataset:loading data from /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub003TN020613/dataset_13goodchannels_plus4s.pklz done. Time elapsed: 0.602471 seconds
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:final dataset shape: (288, 33, 49, 1) (b,0,1,c)
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:generated dataset "valid" with shape X=(288, 1617) y=(288, 24) labels=(288,) 
None
!obj:pylearn2.train.Train {
    dataset: &train !obj:deepbeat.eeg.EEGDataset.EEGDataset {
        name : 'train',
        path : /Users/sstober/work/datasets/rwanda2013rhythms/eeg,
        suffix : _13goodchannels_plus4s,
        subjects : [2],
        resample : [400,400],
        # start_sample : 864,
        start_sample : 1184,
        stop_sample  : 11936,                   # None (empty) = end of sequence 
        frame_size : 33,
        hop_size : 33,
        label_mode : rhythm,
        n_fft : 96,                      # None (empty) = raw signal
        n_freq_bins : 49,
        include_phase : False,
        spectrum_log_amplitude : True,
        spectrum_normalization_mode : linear_0_1,
    },
    
    model: &model !obj:pylearn2.models.mlp.MLP {
        seed : 13,                                        # controls initialization
        batch_size: 100,
        input_space: !obj:pylearn2.space.Conv2DSpace {
                        shape: [33, 49],                  # just 1d
                        num_channels: 1,
                    },
        layers: [
                !obj:pylearn2.models.mlp.ConvRectifiedLinear {
                    layer_name: 'h0',
                    output_channels: 23,            # number of feature maps
                    irange: 0.050000,
                    # init_bias: ,                    
                    # max_kernel_norm: 1.9365,
                    kernel_shape: [4, 49],         
                    pool_shape: [2, 1],                # if 1 -> no aggregation / smoothing / time-invariance
                    pool_stride: [1, 1],             # if 1 -> no sub-sampling / dimension reduction
                    pool_type: 'max',
                    tied_b: True
                },

                !obj:pylearn2.models.mlp.ConvRectifiedLinear {
                    layer_name: 'h1',
                    output_channels: 22,            # number of feature maps
                    irange: 0.050000,
                    # init_bias: ,
                    # max_kernel_norm: 1.9365,
                    kernel_shape: [12, 1],
                    pool_shape: [1, 1],                # if 1 -> no aggregation / smoothing / time-invariance
                    pool_stride: [1, 1],             # if 1 -> no sub-sampling / dimension reduction
                    pool_type: 'max',
                    tied_b: True
                },

                !obj:deepbeat.pylearn2ext.HingeLoss.HingeLoss {
                    # max_col_norm: 1.9365,
                    layer_name: 'y',
                    n_classes: 24,
                    irange: 0.050000,
                    # istdev: .05,
                    # max_col_norm: 1.9365,
                 }
                
               ]
    },
    
    algorithm: !obj:pylearn2.training_algorithms.sgd.SGD {
        seed: 13,                                  # controls dataset traversal
        batch_size: 100,
        learning_rate: 0.00664921832415,

        monitoring_dataset:
            {
                'train' : *train,
                'valid'  : &valid !obj:deepbeat.eeg.EEGDataset.EEGDataset {
                                name : 'valid',
                                path : /Users/sstober/work/datasets/rwanda2013rhythms/eeg, 
                                suffix : _13goodchannels_plus4s,
                                subjects : [2],
                                resample : [400,400],
                                start_sample : 320,
                                stop_sample  : 1184, # None (empty) = end of sequence 
                                frame_size : 33,
                                hop_size : 33,           
                                label_mode : rhythm,
                                n_fft : 96,
                                n_freq_bins : 49,
                                include_phase : False,
                                spectrum_log_amplitude : True,
                                spectrum_normalization_mode : linear_0_1,
                            },
                'test'  : &test !obj:deepbeat.eeg.EEGDataset.EEGDataset {
                                name : 'test',
                                path : /Users/sstober/work/datasets/rwanda2013rhythms/eeg, 
                                suffix : _13goodchannels_plus4s,
                                subjects : [2],
                                resample : [400,400],
                                start_sample : 11936,
                                stop_sample  : 12800,    # None (empty) = end of sequence 
                                frame_size : 33,
                                hop_size : 33,           
                                label_mode : rhythm,
                                n_fft : 96,
                                n_freq_bins : 49,
                                include_phase : False,
                                spectrum_log_amplitude : True,
                                spectrum_normalization_mode : linear_0_1,
                            },
            },
        # cost: &cost !obj:pylearn2.models.mlp.Default {},
        
        cost: &cost
        #     # !obj:pylearn2.costs.cost.SumOfCosts { 
        #     #     costs: [
                    !obj:pylearn2.costs.mlp.dropout.Dropout {
                        input_include_probs: { 'h0' : .8 },
                            input_scales: { 'h0': 1. }
                    },
        #             # !obj:pylearn2.costs.mlp.L1WeightDecay {
        #             #     coeffs: [1e-05, 1e-05, 1e-05, 1e-05, 1e-05], #[ .000001, .000001, .000001, .000001 ]
        #             # },
        #             # !obj:pylearn2.costs.mlp.WeightDecay {
        #             #     coeffs: [1e-05, 1e-05, 1e-05, 1e-05, 1e-05], #[ .000005, .000005, .000005, .000005 ]
        #             # },
        #     #     ]
        #     # },

        termination_criterion: 
            # !obj:pylearn2.termination_criteria.And {
                # criteria: [
                    # !obj:pylearn2.termination_criteria.MonitorBased {
                    #     channel_name: "valid_y_misclass",
                    #     prop_decrease: 0.50,
                    #     N: 10
                    # },
                    !obj:pylearn2.termination_criteria.EpochCounter {
                        max_epochs: 50
                    },
                # ]
            # },

        learning_rule: 
            !obj:pylearn2.training_algorithms.learning_rule.Momentum {
                init_momentum: 0.500000,
            },
            # !obj:pylearn2.training_algorithms.learning_rule.AdaDelta {},

    },
    
    extensions:
        [
            # like pylearn2.training_algorithms.sgd.ExponentialDecay
            # but only applied once per epoch (i.e. independent of batch_size)
            # decay factor needs to be adjusted as x ** num_batches_per_epoch
            !obj:deepbeat.pylearn2ext.ExponentialDecay.ExponentialDecay {
                decay_factor: 1.014859, 
                min_lr: 0.000001, 
            },

            !obj:pylearn2.training_algorithms.learning_rule.MomentumAdjustor {
                start: 1,
                saturate: 50,
                final_momentum: 0.990000,
            },            
             
            !obj:deepbeat.pylearn2ext.util.LoggingCallback {
                name: '20379_h0_pattern_width_4_h0_patterns_23_h0_pool_size_2_h1_pattern_width_12_h1_patterns_22_h1_pool_size_1_learning_rate_0.00664921832415_lr_exponential_decay_factor_1.01485895359',
                obj_channels: ['train_objective', 'train_y_misclass', 'valid_y_misclass', 'test_y_misclass'],
            },

            # should be extension last (after all computations are done)
            !obj:pylearn2.train_extensions.best_params.MonitorBasedSaveBest {
                channel_name: 'valid_y_misclass',
                higher_is_better: False,
                save_path: "/imaging/sstober/spearmint.jobs/nips/h1_norestriction.all/3/cache/_h0_pattern_width_4_h0_patterns_23_h0_pool_size_2_h1_pattern_width_12_h1_patterns_22_h1_pool_size_1_learning_rate_0.00664921832415_lr_exponential_decay_factor_1.01485895359/mlp_best.pkl",
            },

            # !obj:deepbeat.pylearn2ext.util.SaveEveryEpoch {
            #     save_path: "/imaging/sstober/spearmint.jobs/nips/h1_norestriction.all/3/cache/_h0_pattern_width_4_h0_patterns_23_h0_pool_size_2_h1_pattern_width_12_h1_patterns_22_h1_pool_size_1_learning_rate_0.00664921832415_lr_exponential_decay_factor_1.01485895359/epochs/",
            #     save_prefix: "epoch",
            # },
    ],
    
    save_freq: 1,
    save_path: "/imaging/sstober/spearmint.jobs/nips/h1_norestriction.all/3/cache/_h0_pattern_width_4_h0_patterns_23_h0_pool_size_2_h1_pattern_width_12_h1_patterns_22_h1_pool_size_1_learning_rate_0.00664921832415_lr_exponential_decay_factor_1.01485895359/mlp.pkl",
    allow_overwrite: True,
}

Input shape: (33, 49)
Detector space: (30, 1)
Output space: (29, 1)
Input shape: (29, 1)
Detector space: (18, 1)
Output space: (18, 1)
INFO:deepthought.util.yaml_util:parsing yaml done. Time elapsed: 2.626661 seconds
INFO:deepthought.experiments.nips2014.scripts.generate_plots:loading train from /Users/sstober/work/develop/deepthought-output/nips2014/models/h1/3/best/train.yaml done. Time elapsed: 2.627260 seconds
INFO:deepthought.experiments.nips2014.scripts.generate_plots:loading model from /Users/sstober/work/develop/deepthought-output/nips2014/models/h1/4/best/mlp_best.pkl...
INFO:deepthought.experiments.nips2014.scripts.generate_plots:loading model from /Users/sstober/work/develop/deepthought-output/nips2014/models/h1/4/best/mlp_best.pkl done. Time elapsed: 0.127963 seconds
INFO:deepthought.datasets.rwanda2013rhythms.PathLocalizer:changing data path to: /Users/sstober/work/datasets/rwanda2013rhythms/eeg
INFO:deepthought.experiments.nips2014.scripts.generate_plots:loading train from /Users/sstober/work/develop/deepthought-output/nips2014/models/h1/4/best/train.yaml...
INFO:deepthought.util.yaml_util:parsing yaml...
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub001TN010613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub002DI010613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub003TN020613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub004DN040613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub005NE040613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub006PN040613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub007FB050613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub008MN050613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub009DK050613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub010DO060613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub011AM060613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub012RN060613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub013MI080613/dataset_13goodchannels_plus4s.pklz
INFO:deepthought.datasets.rwanda2013rhythms.EEGDataset:loading data from /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub004DN040613/dataset_13goodchannels_plus4s.pklz...
INFO:deepthought.datasets.rwanda2013rhythms.EEGDataset:loading data from /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub004DN040613/dataset_13goodchannels_plus4s.pklz done. Time elapsed: 0.668335 seconds
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:final dataset shape: (288, 45, 49, 1) (b,0,1,c)
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:generated dataset "test" with shape X=(288, 2205) y=(288, 24) labels=(288,) 
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub001TN010613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub002DI010613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub003TN020613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub004DN040613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub005NE040613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub006PN040613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub007FB050613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub008MN050613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub009DK050613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub010DO060613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub011AM060613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub012RN060613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub013MI080613/dataset_13goodchannels_plus4s.pklz
INFO:deepthought.datasets.rwanda2013rhythms.EEGDataset:loading data from /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub004DN040613/dataset_13goodchannels_plus4s.pklz...
INFO:deepthought.datasets.rwanda2013rhythms.EEGDataset:loading data from /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub004DN040613/dataset_13goodchannels_plus4s.pklz done. Time elapsed: 0.891387 seconds
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:final dataset shape: (2592, 45, 49, 1) (b,0,1,c)
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:generated dataset "train" with shape X=(2592, 2205) y=(2592, 24) labels=(2592,) 
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub001TN010613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub002DI010613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub003TN020613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub004DN040613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub005NE040613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub006PN040613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub007FB050613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub008MN050613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub009DK050613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub010DO060613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub011AM060613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub012RN060613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub013MI080613/dataset_13goodchannels_plus4s.pklz
INFO:deepthought.datasets.rwanda2013rhythms.EEGDataset:loading data from /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub004DN040613/dataset_13goodchannels_plus4s.pklz...
INFO:deepthought.datasets.rwanda2013rhythms.EEGDataset:loading data from /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub004DN040613/dataset_13goodchannels_plus4s.pklz done. Time elapsed: 0.632824 seconds
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:final dataset shape: (288, 45, 49, 1) (b,0,1,c)
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:generated dataset "valid" with shape X=(288, 2205) y=(288, 24) labels=(288,) 
None
!obj:pylearn2.train.Train {
    dataset: &train !obj:deepbeat.eeg.EEGDataset.EEGDataset {
        name : 'train',
        path : /Users/sstober/work/datasets/rwanda2013rhythms/eeg,
        suffix : _13goodchannels_plus4s,
        subjects : [3],
        resample : [400,400],
        # start_sample : 1152,
        start_sample : 1472,
        stop_sample  : 11648,                   # None (empty) = end of sequence 
        frame_size : 45,
        hop_size : 45,
        label_mode : rhythm,
        n_fft : 96,                      # None (empty) = raw signal
        n_freq_bins : 49,
        include_phase : False,
        spectrum_log_amplitude : True,
        spectrum_normalization_mode : linear_0_1,
    },
    
    model: &model !obj:pylearn2.models.mlp.MLP {
        seed : 13,                                        # controls initialization
        batch_size: 100,
        input_space: !obj:pylearn2.space.Conv2DSpace {
                        shape: [45, 49],                  # just 1d
                        num_channels: 1,
                    },
        layers: [
                !obj:pylearn2.models.mlp.ConvRectifiedLinear {
                    layer_name: 'h0',
                    output_channels: 25,            # number of feature maps
                    irange: 0.050000,
                    # init_bias: ,                    
                    # max_kernel_norm: 1.9365,
                    kernel_shape: [28, 49],         
                    pool_shape: [1, 1],                # if 1 -> no aggregation / smoothing / time-invariance
                    pool_stride: [1, 1],             # if 1 -> no sub-sampling / dimension reduction
                    pool_type: 'max',
                    tied_b: True
                },

                !obj:pylearn2.models.mlp.ConvRectifiedLinear {
                    layer_name: 'h1',
                    output_channels: 24,            # number of feature maps
                    irange: 0.050000,
                    # init_bias: ,
                    # max_kernel_norm: 1.9365,
                    kernel_shape: [1, 1],
                    pool_shape: [3, 1],                # if 1 -> no aggregation / smoothing / time-invariance
                    pool_stride: [1, 1],             # if 1 -> no sub-sampling / dimension reduction
                    pool_type: 'max',
                    tied_b: True
                },

                !obj:deepbeat.pylearn2ext.HingeLoss.HingeLoss {
                    # max_col_norm: 1.9365,
                    layer_name: 'y',
                    n_classes: 24,
                    irange: 0.050000,
                    # istdev: .05,
                    # max_col_norm: 1.9365,
                 }
                
               ]
    },
    
    algorithm: !obj:pylearn2.training_algorithms.sgd.SGD {
        seed: 13,                                  # controls dataset traversal
        batch_size: 100,
        learning_rate: 0.00963311962368,

        monitoring_dataset:
            {
                'train' : *train,
                'valid'  : &valid !obj:deepbeat.eeg.EEGDataset.EEGDataset {
                                name : 'valid',
                                path : /Users/sstober/work/datasets/rwanda2013rhythms/eeg, 
                                suffix : _13goodchannels_plus4s,
                                subjects : [3],
                                resample : [400,400],
                                start_sample : 320,
                                stop_sample  : 1472, # None (empty) = end of sequence 
                                frame_size : 45,
                                hop_size : 45,           
                                label_mode : rhythm,
                                n_fft : 96,
                                n_freq_bins : 49,
                                include_phase : False,
                                spectrum_log_amplitude : True,
                                spectrum_normalization_mode : linear_0_1,
                            },
                'test'  : &test !obj:deepbeat.eeg.EEGDataset.EEGDataset {
                                name : 'test',
                                path : /Users/sstober/work/datasets/rwanda2013rhythms/eeg, 
                                suffix : _13goodchannels_plus4s,
                                subjects : [3],
                                resample : [400,400],
                                start_sample : 11648,
                                stop_sample  : 12800,    # None (empty) = end of sequence 
                                frame_size : 45,
                                hop_size : 45,           
                                label_mode : rhythm,
                                n_fft : 96,
                                n_freq_bins : 49,
                                include_phase : False,
                                spectrum_log_amplitude : True,
                                spectrum_normalization_mode : linear_0_1,
                            },
            },
        # cost: &cost !obj:pylearn2.models.mlp.Default {},
        
        cost: &cost
        #     # !obj:pylearn2.costs.cost.SumOfCosts { 
        #     #     costs: [
                    !obj:pylearn2.costs.mlp.dropout.Dropout {
                        input_include_probs: { 'h0' : .8 },
                            input_scales: { 'h0': 1. }
                    },
        #             # !obj:pylearn2.costs.mlp.L1WeightDecay {
        #             #     coeffs: [1e-05, 1e-05, 1e-05, 1e-05, 1e-05], #[ .000001, .000001, .000001, .000001 ]
        #             # },
        #             # !obj:pylearn2.costs.mlp.WeightDecay {
        #             #     coeffs: [1e-05, 1e-05, 1e-05, 1e-05, 1e-05], #[ .000005, .000005, .000005, .000005 ]
        #             # },
        #     #     ]
        #     # },

        termination_criterion: 
            # !obj:pylearn2.termination_criteria.And {
                # criteria: [
                    # !obj:pylearn2.termination_criteria.MonitorBased {
                    #     channel_name: "valid_y_misclass",
                    #     prop_decrease: 0.50,
                    #     N: 10
                    # },
                    !obj:pylearn2.termination_criteria.EpochCounter {
                        max_epochs: 50
                    },
                # ]
            # },

        learning_rule: 
            !obj:pylearn2.training_algorithms.learning_rule.Momentum {
                init_momentum: 0.500000,
            },
            # !obj:pylearn2.training_algorithms.learning_rule.AdaDelta {},

    },
    
    extensions:
        [
            # like pylearn2.training_algorithms.sgd.ExponentialDecay
            # but only applied once per epoch (i.e. independent of batch_size)
            # decay factor needs to be adjusted as x ** num_batches_per_epoch
            !obj:deepbeat.pylearn2ext.ExponentialDecay.ExponentialDecay {
                decay_factor: 1.036315, 
                min_lr: 0.000001, 
            },

            !obj:pylearn2.training_algorithms.learning_rule.MomentumAdjustor {
                start: 1,
                saturate: 50,
                final_momentum: 0.990000,
            },            
             
            !obj:deepbeat.pylearn2ext.util.LoggingCallback {
                name: '20057_h0_pattern_width_28_h0_patterns_25_h0_pool_size_1_h1_pattern_width_1_h1_patterns_24_h1_pool_size_3_learning_rate_0.00963311962368_lr_exponential_decay_factor_1.03631467809',
                obj_channels: ['train_objective', 'train_y_misclass', 'valid_y_misclass', 'test_y_misclass'],
            },

            # should be extension last (after all computations are done)
            !obj:pylearn2.train_extensions.best_params.MonitorBasedSaveBest {
                channel_name: 'valid_y_misclass',
                higher_is_better: False,
                save_path: "/imaging/sstober/spearmint.jobs/nips/h1_norestriction/cache/_h0_pattern_width_28_h0_patterns_25_h0_pool_size_1_h1_pattern_width_1_h1_patterns_24_h1_pool_size_3_learning_rate_0.00963311962368_lr_exponential_decay_factor_1.03631467809/mlp_best.pkl",
            },

            # !obj:deepbeat.pylearn2ext.util.SaveEveryEpoch {
            #     save_path: "/imaging/sstober/spearmint.jobs/nips/h1_norestriction/cache/_h0_pattern_width_28_h0_patterns_25_h0_pool_size_1_h1_pattern_width_1_h1_patterns_24_h1_pool_size_3_learning_rate_0.00963311962368_lr_exponential_decay_factor_1.03631467809/epochs/",
            #     save_prefix: "epoch",
            # },
    ],
    
    save_freq: 1,
    save_path: "/imaging/sstober/spearmint.jobs/nips/h1_norestriction/cache/_h0_pattern_width_28_h0_patterns_25_h0_pool_size_1_h1_pattern_width_1_h1_patterns_24_h1_pool_size_3_learning_rate_0.00963311962368_lr_exponential_decay_factor_1.03631467809/mlp.pkl",
    allow_overwrite: True,
}

Input shape: (45, 49)
Detector space: (18, 1)
Output space: (18, 1)
Input shape: (18, 1)
Detector space: (18, 1)
Output space: (16, 1)
INFO:deepthought.util.yaml_util:parsing yaml done. Time elapsed: 2.782403 seconds
INFO:deepthought.experiments.nips2014.scripts.generate_plots:loading train from /Users/sstober/work/develop/deepthought-output/nips2014/models/h1/4/best/train.yaml done. Time elapsed: 2.782995 seconds
INFO:deepthought.experiments.nips2014.scripts.generate_plots:loading model from /Users/sstober/work/develop/deepthought-output/nips2014/models/h1/5/best/mlp_best.pkl...
INFO:deepthought.experiments.nips2014.scripts.generate_plots:loading model from /Users/sstober/work/develop/deepthought-output/nips2014/models/h1/5/best/mlp_best.pkl done. Time elapsed: 0.182900 seconds
INFO:deepthought.datasets.rwanda2013rhythms.PathLocalizer:changing data path to: /Users/sstober/work/datasets/rwanda2013rhythms/eeg
INFO:deepthought.experiments.nips2014.scripts.generate_plots:loading train from /Users/sstober/work/develop/deepthought-output/nips2014/models/h1/5/best/train.yaml...
INFO:deepthought.util.yaml_util:parsing yaml...
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub001TN010613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub002DI010613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub003TN020613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub004DN040613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub005NE040613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub006PN040613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub007FB050613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub008MN050613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub009DK050613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub010DO060613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub011AM060613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub012RN060613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub013MI080613/dataset_13goodchannels_plus4s.pklz
INFO:deepthought.datasets.rwanda2013rhythms.EEGDataset:loading data from /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub005NE040613/dataset_13goodchannels_plus4s.pklz...
INFO:deepthought.datasets.rwanda2013rhythms.EEGDataset:loading data from /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub005NE040613/dataset_13goodchannels_plus4s.pklz done. Time elapsed: 0.704260 seconds
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:final dataset shape: (288, 45, 49, 1) (b,0,1,c)
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:generated dataset "test" with shape X=(288, 2205) y=(288, 24) labels=(288,) 
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub001TN010613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub002DI010613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub003TN020613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub004DN040613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub005NE040613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub006PN040613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub007FB050613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub008MN050613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub009DK050613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub010DO060613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub011AM060613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub012RN060613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub013MI080613/dataset_13goodchannels_plus4s.pklz
INFO:deepthought.datasets.rwanda2013rhythms.EEGDataset:loading data from /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub005NE040613/dataset_13goodchannels_plus4s.pklz...
INFO:deepthought.datasets.rwanda2013rhythms.EEGDataset:loading data from /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub005NE040613/dataset_13goodchannels_plus4s.pklz done. Time elapsed: 0.955519 seconds
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:final dataset shape: (2592, 45, 49, 1) (b,0,1,c)
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:generated dataset "train" with shape X=(2592, 2205) y=(2592, 24) labels=(2592,) 
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub001TN010613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub002DI010613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub003TN020613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub004DN040613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub005NE040613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub006PN040613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub007FB050613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub008MN050613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub009DK050613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub010DO060613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub011AM060613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub012RN060613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub013MI080613/dataset_13goodchannels_plus4s.pklz
INFO:deepthought.datasets.rwanda2013rhythms.EEGDataset:loading data from /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub005NE040613/dataset_13goodchannels_plus4s.pklz...
INFO:deepthought.datasets.rwanda2013rhythms.EEGDataset:loading data from /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub005NE040613/dataset_13goodchannels_plus4s.pklz done. Time elapsed: 0.644819 seconds
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:final dataset shape: (288, 45, 49, 1) (b,0,1,c)
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:generated dataset "valid" with shape X=(288, 2205) y=(288, 24) labels=(288,) 
None
!obj:pylearn2.train.Train {
    dataset: &train !obj:deepbeat.eeg.EEGDataset.EEGDataset {
        name : 'train',
        path : /Users/sstober/work/datasets/rwanda2013rhythms/eeg,
        suffix : _13goodchannels_plus4s,
        subjects : [4],
        resample : [400,400],
        # start_sample : 1152,
        start_sample : 1472,
        stop_sample  : 11648,                   # None (empty) = end of sequence 
        frame_size : 45,
        hop_size : 45,
        label_mode : rhythm,
        n_fft : 96,                      # None (empty) = raw signal
        n_freq_bins : 49,
        include_phase : False,
        spectrum_log_amplitude : True,
        spectrum_normalization_mode : linear_0_1,
    },
    
    model: &model !obj:pylearn2.models.mlp.MLP {
        seed : 13,                                        # controls initialization
        batch_size: 100,
        input_space: !obj:pylearn2.space.Conv2DSpace {
                        shape: [45, 49],                  # just 1d
                        num_channels: 1,
                    },
        layers: [
                !obj:pylearn2.models.mlp.ConvRectifiedLinear {
                    layer_name: 'h0',
                    output_channels: 5,            # number of feature maps
                    irange: 0.050000,
                    # init_bias: ,                    
                    # max_kernel_norm: 1.9365,
                    kernel_shape: [3, 49],         
                    pool_shape: [10, 1],                # if 1 -> no aggregation / smoothing / time-invariance
                    pool_stride: [1, 1],             # if 1 -> no sub-sampling / dimension reduction
                    pool_type: 'max',
                    tied_b: True
                },

                !obj:pylearn2.models.mlp.ConvRectifiedLinear {
                    layer_name: 'h1',
                    output_channels: 11,            # number of feature maps
                    irange: 0.050000,
                    # init_bias: ,
                    # max_kernel_norm: 1.9365,
                    kernel_shape: [11, 1],
                    pool_shape: [8, 1],                # if 1 -> no aggregation / smoothing / time-invariance
                    pool_stride: [1, 1],             # if 1 -> no sub-sampling / dimension reduction
                    pool_type: 'max',
                    tied_b: True
                },

                !obj:deepbeat.pylearn2ext.HingeLoss.HingeLoss {
                    # max_col_norm: 1.9365,
                    layer_name: 'y',
                    n_classes: 24,
                    irange: 0.050000,
                    # istdev: .05,
                    # max_col_norm: 1.9365,
                 }
                
               ]
    },
    
    algorithm: !obj:pylearn2.training_algorithms.sgd.SGD {
        seed: 13,                                  # controls dataset traversal
        batch_size: 100,
        learning_rate: 0.00760552978516,

        monitoring_dataset:
            {
                'train' : *train,
                'valid'  : &valid !obj:deepbeat.eeg.EEGDataset.EEGDataset {
                                name : 'valid',
                                path : /Users/sstober/work/datasets/rwanda2013rhythms/eeg, 
                                suffix : _13goodchannels_plus4s,
                                subjects : [4],
                                resample : [400,400],
                                start_sample : 320,
                                stop_sample  : 1472, # None (empty) = end of sequence 
                                frame_size : 45,
                                hop_size : 45,           
                                label_mode : rhythm,
                                n_fft : 96,
                                n_freq_bins : 49,
                                include_phase : False,
                                spectrum_log_amplitude : True,
                                spectrum_normalization_mode : linear_0_1,
                            },
                'test'  : &test !obj:deepbeat.eeg.EEGDataset.EEGDataset {
                                name : 'test',
                                path : /Users/sstober/work/datasets/rwanda2013rhythms/eeg, 
                                suffix : _13goodchannels_plus4s,
                                subjects : [4],
                                resample : [400,400],
                                start_sample : 11648,
                                stop_sample  : 12800,    # None (empty) = end of sequence 
                                frame_size : 45,
                                hop_size : 45,           
                                label_mode : rhythm,
                                n_fft : 96,
                                n_freq_bins : 49,
                                include_phase : False,
                                spectrum_log_amplitude : True,
                                spectrum_normalization_mode : linear_0_1,
                            },
            },
        # cost: &cost !obj:pylearn2.models.mlp.Default {},
        
        cost: &cost
        #     # !obj:pylearn2.costs.cost.SumOfCosts { 
        #     #     costs: [
                    !obj:pylearn2.costs.mlp.dropout.Dropout {
                        input_include_probs: { 'h0' : .8 },
                            input_scales: { 'h0': 1. }
                    },
        #             # !obj:pylearn2.costs.mlp.L1WeightDecay {
        #             #     coeffs: [1e-05, 1e-05, 1e-05, 1e-05, 1e-05], #[ .000001, .000001, .000001, .000001 ]
        #             # },
        #             # !obj:pylearn2.costs.mlp.WeightDecay {
        #             #     coeffs: [1e-05, 1e-05, 1e-05, 1e-05, 1e-05], #[ .000005, .000005, .000005, .000005 ]
        #             # },
        #     #     ]
        #     # },

        termination_criterion: 
            # !obj:pylearn2.termination_criteria.And {
                # criteria: [
                    # !obj:pylearn2.termination_criteria.MonitorBased {
                    #     channel_name: "valid_y_misclass",
                    #     prop_decrease: 0.50,
                    #     N: 10
                    # },
                    !obj:pylearn2.termination_criteria.EpochCounter {
                        max_epochs: 50
                    },
                # ]
            # },

        learning_rule: 
            !obj:pylearn2.training_algorithms.learning_rule.Momentum {
                init_momentum: 0.500000,
            },
            # !obj:pylearn2.training_algorithms.learning_rule.AdaDelta {},

    },
    
    extensions:
        [
            # like pylearn2.training_algorithms.sgd.ExponentialDecay
            # but only applied once per epoch (i.e. independent of batch_size)
            # decay factor needs to be adjusted as x ** num_batches_per_epoch
            !obj:deepbeat.pylearn2ext.ExponentialDecay.ExponentialDecay {
                decay_factor: 1.012958, 
                min_lr: 0.000001, 
            },

            !obj:pylearn2.training_algorithms.learning_rule.MomentumAdjustor {
                start: 1,
                saturate: 50,
                final_momentum: 0.990000,
            },            
             
            !obj:deepbeat.pylearn2ext.util.LoggingCallback {
                name: '14998_h0_pattern_width_3_h0_patterns_5_h0_pool_size_10_h1_pattern_width_11_h1_patterns_11_h1_pool_size_8_learning_rate_0.00760552978516_lr_exponential_decay_factor_1.01295776367',
                obj_channels: ['train_objective', 'train_y_misclass', 'valid_y_misclass', 'test_y_misclass'],
            },

            # should be extension last (after all computations are done)
            !obj:pylearn2.train_extensions.best_params.MonitorBasedSaveBest {
                channel_name: 'valid_y_misclass',
                higher_is_better: False,
                save_path: "/imaging/sstober/spearmint.jobs/nips/h1_norestriction.all/5/cache/_h0_pattern_width_3_h0_patterns_5_h0_pool_size_10_h1_pattern_width_11_h1_patterns_11_h1_pool_size_8_learning_rate_0.00760552978516_lr_exponential_decay_factor_1.01295776367/mlp_best.pkl",
            },

            # !obj:deepbeat.pylearn2ext.util.SaveEveryEpoch {
            #     save_path: "/imaging/sstober/spearmint.jobs/nips/h1_norestriction.all/5/cache/_h0_pattern_width_3_h0_patterns_5_h0_pool_size_10_h1_pattern_width_11_h1_patterns_11_h1_pool_size_8_learning_rate_0.00760552978516_lr_exponential_decay_factor_1.01295776367/epochs/",
            #     save_prefix: "epoch",
            # },
    ],
    
    save_freq: 1,
    save_path: "/imaging/sstober/spearmint.jobs/nips/h1_norestriction.all/5/cache/_h0_pattern_width_3_h0_patterns_5_h0_pool_size_10_h1_pattern_width_11_h1_patterns_11_h1_pool_size_8_learning_rate_0.00760552978516_lr_exponential_decay_factor_1.01295776367/mlp.pkl",
    allow_overwrite: True,
}

Input shape: (45, 49)
Detector space: (43, 1)
Output space: (34, 1)
Input shape: (34, 1)
Detector space: (24, 1)
Output space: (17, 1)
INFO:deepthought.util.yaml_util:parsing yaml done. Time elapsed: 3.425356 seconds
INFO:deepthought.experiments.nips2014.scripts.generate_plots:loading train from /Users/sstober/work/develop/deepthought-output/nips2014/models/h1/5/best/train.yaml done. Time elapsed: 3.426207 seconds
INFO:deepthought.experiments.nips2014.scripts.generate_plots:loading model from /Users/sstober/work/develop/deepthought-output/nips2014/models/h1/6/best/mlp_best.pkl...
INFO:deepthought.experiments.nips2014.scripts.generate_plots:loading model from /Users/sstober/work/develop/deepthought-output/nips2014/models/h1/6/best/mlp_best.pkl done. Time elapsed: 0.169356 seconds
INFO:deepthought.datasets.rwanda2013rhythms.PathLocalizer:changing data path to: /Users/sstober/work/datasets/rwanda2013rhythms/eeg
INFO:deepthought.experiments.nips2014.scripts.generate_plots:loading train from /Users/sstober/work/develop/deepthought-output/nips2014/models/h1/6/best/train.yaml...
INFO:deepthought.util.yaml_util:parsing yaml...
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub001TN010613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub002DI010613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub003TN020613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub004DN040613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub005NE040613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub006PN040613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub007FB050613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub008MN050613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub009DK050613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub010DO060613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub011AM060613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub012RN060613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub013MI080613/dataset_13goodchannels_plus4s.pklz
INFO:deepthought.datasets.rwanda2013rhythms.EEGDataset:loading data from /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub006PN040613/dataset_13goodchannels_plus4s.pklz...
INFO:deepthought.datasets.rwanda2013rhythms.EEGDataset:loading data from /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub006PN040613/dataset_13goodchannels_plus4s.pklz done. Time elapsed: 0.769959 seconds
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:final dataset shape: (312, 45, 49, 1) (b,0,1,c)
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:generated dataset "test" with shape X=(312, 2205) y=(312, 24) labels=(312,) 
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub001TN010613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub002DI010613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub003TN020613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub004DN040613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub005NE040613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub006PN040613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub007FB050613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub008MN050613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub009DK050613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub010DO060613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub011AM060613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub012RN060613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub013MI080613/dataset_13goodchannels_plus4s.pklz
INFO:deepthought.datasets.rwanda2013rhythms.EEGDataset:loading data from /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub006PN040613/dataset_13goodchannels_plus4s.pklz...
INFO:deepthought.datasets.rwanda2013rhythms.EEGDataset:loading data from /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub006PN040613/dataset_13goodchannels_plus4s.pklz done. Time elapsed: 1.005246 seconds
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:final dataset shape: (2808, 45, 49, 1) (b,0,1,c)
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:generated dataset "train" with shape X=(2808, 2205) y=(2808, 24) labels=(2808,) 
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub001TN010613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub002DI010613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub003TN020613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub004DN040613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub005NE040613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub006PN040613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub007FB050613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub008MN050613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub009DK050613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub010DO060613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub011AM060613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub012RN060613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub013MI080613/dataset_13goodchannels_plus4s.pklz
INFO:deepthought.datasets.rwanda2013rhythms.EEGDataset:loading data from /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub006PN040613/dataset_13goodchannels_plus4s.pklz...
INFO:deepthought.datasets.rwanda2013rhythms.EEGDataset:loading data from /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub006PN040613/dataset_13goodchannels_plus4s.pklz done. Time elapsed: 0.727216 seconds
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:final dataset shape: (312, 45, 49, 1) (b,0,1,c)
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:generated dataset "valid" with shape X=(312, 2205) y=(312, 24) labels=(312,) 
None
!obj:pylearn2.train.Train {
    dataset: &train !obj:deepbeat.eeg.EEGDataset.EEGDataset {
        name : 'train',
        path : /Users/sstober/work/datasets/rwanda2013rhythms/eeg,
        suffix : _13goodchannels_plus4s,
        subjects : [5],
        resample : [400,400],
        # start_sample : 1152,
        start_sample : 1472,
        stop_sample  : 11648,                   # None (empty) = end of sequence 
        frame_size : 45,
        hop_size : 45,
        label_mode : rhythm,
        n_fft : 96,                      # None (empty) = raw signal
        n_freq_bins : 49,
        include_phase : False,
        spectrum_log_amplitude : True,
        spectrum_normalization_mode : linear_0_1,
    },
    
    model: &model !obj:pylearn2.models.mlp.MLP {
        seed : 13,                                        # controls initialization
        batch_size: 100,
        input_space: !obj:pylearn2.space.Conv2DSpace {
                        shape: [45, 49],                  # just 1d
                        num_channels: 1,
                    },
        layers: [
                !obj:pylearn2.models.mlp.ConvRectifiedLinear {
                    layer_name: 'h0',
                    output_channels: 30,            # number of feature maps
                    irange: 0.050000,
                    # init_bias: ,                    
                    # max_kernel_norm: 1.9365,
                    kernel_shape: [26, 49],         
                    pool_shape: [5, 1],                # if 1 -> no aggregation / smoothing / time-invariance
                    pool_stride: [1, 1],             # if 1 -> no sub-sampling / dimension reduction
                    pool_type: 'max',
                    tied_b: True
                },

                !obj:pylearn2.models.mlp.ConvRectifiedLinear {
                    layer_name: 'h1',
                    output_channels: 30,            # number of feature maps
                    irange: 0.050000,
                    # init_bias: ,
                    # max_kernel_norm: 1.9365,
                    kernel_shape: [1, 1],
                    pool_shape: [10, 1],                # if 1 -> no aggregation / smoothing / time-invariance
                    pool_stride: [1, 1],             # if 1 -> no sub-sampling / dimension reduction
                    pool_type: 'max',
                    tied_b: True
                },

                !obj:deepbeat.pylearn2ext.HingeLoss.HingeLoss {
                    # max_col_norm: 1.9365,
                    layer_name: 'y',
                    n_classes: 24,
                    irange: 0.050000,
                    # istdev: .05,
                    # max_col_norm: 1.9365,
                 }
                
               ]
    },
    
    algorithm: !obj:pylearn2.training_algorithms.sgd.SGD {
        seed: 13,                                  # controls dataset traversal
        batch_size: 100,
        learning_rate: 0.00746921470913,

        monitoring_dataset:
            {
                'train' : *train,
                'valid'  : &valid !obj:deepbeat.eeg.EEGDataset.EEGDataset {
                                name : 'valid',
                                path : /Users/sstober/work/datasets/rwanda2013rhythms/eeg, 
                                suffix : _13goodchannels_plus4s,
                                subjects : [5],
                                resample : [400,400],
                                start_sample : 320,
                                stop_sample  : 1472, # None (empty) = end of sequence 
                                frame_size : 45,
                                hop_size : 45,           
                                label_mode : rhythm,
                                n_fft : 96,
                                n_freq_bins : 49,
                                include_phase : False,
                                spectrum_log_amplitude : True,
                                spectrum_normalization_mode : linear_0_1,
                            },
                'test'  : &test !obj:deepbeat.eeg.EEGDataset.EEGDataset {
                                name : 'test',
                                path : /Users/sstober/work/datasets/rwanda2013rhythms/eeg, 
                                suffix : _13goodchannels_plus4s,
                                subjects : [5],
                                resample : [400,400],
                                start_sample : 11648,
                                stop_sample  : 12800,    # None (empty) = end of sequence 
                                frame_size : 45,
                                hop_size : 45,           
                                label_mode : rhythm,
                                n_fft : 96,
                                n_freq_bins : 49,
                                include_phase : False,
                                spectrum_log_amplitude : True,
                                spectrum_normalization_mode : linear_0_1,
                            },
            },
        # cost: &cost !obj:pylearn2.models.mlp.Default {},
        
        cost: &cost
        #     # !obj:pylearn2.costs.cost.SumOfCosts { 
        #     #     costs: [
                    !obj:pylearn2.costs.mlp.dropout.Dropout {
                        input_include_probs: { 'h0' : .8 },
                            input_scales: { 'h0': 1. }
                    },
        #             # !obj:pylearn2.costs.mlp.L1WeightDecay {
        #             #     coeffs: [1e-05, 1e-05, 1e-05, 1e-05, 1e-05], #[ .000001, .000001, .000001, .000001 ]
        #             # },
        #             # !obj:pylearn2.costs.mlp.WeightDecay {
        #             #     coeffs: [1e-05, 1e-05, 1e-05, 1e-05, 1e-05], #[ .000005, .000005, .000005, .000005 ]
        #             # },
        #     #     ]
        #     # },

        termination_criterion: 
            # !obj:pylearn2.termination_criteria.And {
                # criteria: [
                    # !obj:pylearn2.termination_criteria.MonitorBased {
                    #     channel_name: "valid_y_misclass",
                    #     prop_decrease: 0.50,
                    #     N: 10
                    # },
                    !obj:pylearn2.termination_criteria.EpochCounter {
                        max_epochs: 50
                    },
                # ]
            # },

        learning_rule: 
            !obj:pylearn2.training_algorithms.learning_rule.Momentum {
                init_momentum: 0.500000,
            },
            # !obj:pylearn2.training_algorithms.learning_rule.AdaDelta {},

    },
    
    extensions:
        [
            # like pylearn2.training_algorithms.sgd.ExponentialDecay
            # but only applied once per epoch (i.e. independent of batch_size)
            # decay factor needs to be adjusted as x ** num_batches_per_epoch
            !obj:deepbeat.pylearn2ext.ExponentialDecay.ExponentialDecay {
                decay_factor: 1.026619, 
                min_lr: 0.000001, 
            },

            !obj:pylearn2.training_algorithms.learning_rule.MomentumAdjustor {
                start: 1,
                saturate: 50,
                final_momentum: 0.990000,
            },            
             
            !obj:deepbeat.pylearn2ext.util.LoggingCallback {
                name: '20446_h0_pattern_width_26_h0_patterns_30_h0_pool_size_5_h1_pattern_width_1_h1_patterns_30_h1_pool_size_10_learning_rate_0.00746921470913_lr_exponential_decay_factor_1.02661861959',
                obj_channels: ['train_objective', 'train_y_misclass', 'valid_y_misclass', 'test_y_misclass'],
            },

            # should be extension last (after all computations are done)
            !obj:pylearn2.train_extensions.best_params.MonitorBasedSaveBest {
                channel_name: 'valid_y_misclass',
                higher_is_better: False,
                save_path: "/imaging/sstober/spearmint.jobs/nips/h1_norestriction.all/6/cache/_h0_pattern_width_26_h0_patterns_30_h0_pool_size_5_h1_pattern_width_1_h1_patterns_30_h1_pool_size_10_learning_rate_0.00746921470913_lr_exponential_decay_factor_1.02661861959/mlp_best.pkl",
            },

            # !obj:deepbeat.pylearn2ext.util.SaveEveryEpoch {
            #     save_path: "/imaging/sstober/spearmint.jobs/nips/h1_norestriction.all/6/cache/_h0_pattern_width_26_h0_patterns_30_h0_pool_size_5_h1_pattern_width_1_h1_patterns_30_h1_pool_size_10_learning_rate_0.00746921470913_lr_exponential_decay_factor_1.02661861959/epochs/",
            #     save_prefix: "epoch",
            # },
    ],
    
    save_freq: 1,
    save_path: "/imaging/sstober/spearmint.jobs/nips/h1_norestriction.all/6/cache/_h0_pattern_width_26_h0_patterns_30_h0_pool_size_5_h1_pattern_width_1_h1_patterns_30_h1_pool_size_10_learning_rate_0.00746921470913_lr_exponential_decay_factor_1.02661861959/mlp.pkl",
    allow_overwrite: True,
}

Input shape: (45, 49)
Detector space: (20, 1)
Output space: (16, 1)
Input shape: (16, 1)
Detector space: (16, 1)
Output space: (7, 1)
INFO:deepthought.util.yaml_util:parsing yaml done. Time elapsed: 3.514089 seconds
INFO:deepthought.experiments.nips2014.scripts.generate_plots:loading train from /Users/sstober/work/develop/deepthought-output/nips2014/models/h1/6/best/train.yaml done. Time elapsed: 3.514797 seconds
INFO:deepthought.experiments.nips2014.scripts.generate_plots:loading model from /Users/sstober/work/develop/deepthought-output/nips2014/models/h1/7/best/mlp_best.pkl...
INFO:deepthought.experiments.nips2014.scripts.generate_plots:loading model from /Users/sstober/work/develop/deepthought-output/nips2014/models/h1/7/best/mlp_best.pkl done. Time elapsed: 0.175784 seconds
INFO:deepthought.datasets.rwanda2013rhythms.PathLocalizer:changing data path to: /Users/sstober/work/datasets/rwanda2013rhythms/eeg
INFO:deepthought.experiments.nips2014.scripts.generate_plots:loading train from /Users/sstober/work/develop/deepthought-output/nips2014/models/h1/7/best/train.yaml...
INFO:deepthought.util.yaml_util:parsing yaml...
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub001TN010613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub002DI010613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub003TN020613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub004DN040613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub005NE040613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub006PN040613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub007FB050613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub008MN050613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub009DK050613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub010DO060613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub011AM060613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub012RN060613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub013MI080613/dataset_13goodchannels_plus4s.pklz
INFO:deepthought.datasets.rwanda2013rhythms.EEGDataset:loading data from /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub007FB050613/dataset_13goodchannels_plus4s.pklz...
INFO:deepthought.datasets.rwanda2013rhythms.EEGDataset:loading data from /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub007FB050613/dataset_13goodchannels_plus4s.pklz done. Time elapsed: 0.713280 seconds
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:final dataset shape: (312, 33, 49, 1) (b,0,1,c)
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:generated dataset "test" with shape X=(312, 1617) y=(312, 24) labels=(312,) 
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub001TN010613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub002DI010613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub003TN020613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub004DN040613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub005NE040613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub006PN040613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub007FB050613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub008MN050613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub009DK050613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub010DO060613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub011AM060613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub012RN060613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub013MI080613/dataset_13goodchannels_plus4s.pklz
INFO:deepthought.datasets.rwanda2013rhythms.EEGDataset:loading data from /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub007FB050613/dataset_13goodchannels_plus4s.pklz...
INFO:deepthought.datasets.rwanda2013rhythms.EEGDataset:loading data from /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub007FB050613/dataset_13goodchannels_plus4s.pklz done. Time elapsed: 0.992149 seconds
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:final dataset shape: (4056, 33, 49, 1) (b,0,1,c)
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:generated dataset "train" with shape X=(4056, 1617) y=(4056, 24) labels=(4056,) 
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub001TN010613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub002DI010613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub003TN020613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub004DN040613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub005NE040613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub006PN040613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub007FB050613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub008MN050613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub009DK050613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub010DO060613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub011AM060613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub012RN060613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub013MI080613/dataset_13goodchannels_plus4s.pklz
INFO:deepthought.datasets.rwanda2013rhythms.EEGDataset:loading data from /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub007FB050613/dataset_13goodchannels_plus4s.pklz...
INFO:deepthought.datasets.rwanda2013rhythms.EEGDataset:loading data from /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub007FB050613/dataset_13goodchannels_plus4s.pklz done. Time elapsed: 0.691556 seconds
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:final dataset shape: (312, 33, 49, 1) (b,0,1,c)
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:generated dataset "valid" with shape X=(312, 1617) y=(312, 24) labels=(312,) 
None
!obj:pylearn2.train.Train {
    dataset: &train !obj:deepbeat.eeg.EEGDataset.EEGDataset {
        name : 'train',
        path : /Users/sstober/work/datasets/rwanda2013rhythms/eeg,
        suffix : _13goodchannels_plus4s,
        subjects : [6],
        resample : [400,400],
        # start_sample : 864,
        start_sample : 1184,
        stop_sample  : 11936,                   # None (empty) = end of sequence 
        frame_size : 33,
        hop_size : 33,
        label_mode : rhythm,
        n_fft : 96,                      # None (empty) = raw signal
        n_freq_bins : 49,
        include_phase : False,
        spectrum_log_amplitude : True,
        spectrum_normalization_mode : linear_0_1,
    },
    
    model: &model !obj:pylearn2.models.mlp.MLP {
        seed : 13,                                        # controls initialization
        batch_size: 100,
        input_space: !obj:pylearn2.space.Conv2DSpace {
                        shape: [33, 49],                  # just 1d
                        num_channels: 1,
                    },
        layers: [
                !obj:pylearn2.models.mlp.ConvRectifiedLinear {
                    layer_name: 'h0',
                    output_channels: 10,            # number of feature maps
                    irange: 0.050000,
                    # init_bias: ,                    
                    # max_kernel_norm: 1.9365,
                    kernel_shape: [1, 49],         
                    pool_shape: [1, 1],                # if 1 -> no aggregation / smoothing / time-invariance
                    pool_stride: [1, 1],             # if 1 -> no sub-sampling / dimension reduction
                    pool_type: 'max',
                    tied_b: True
                },

                !obj:pylearn2.models.mlp.ConvRectifiedLinear {
                    layer_name: 'h1',
                    output_channels: 30,            # number of feature maps
                    irange: 0.050000,
                    # init_bias: ,
                    # max_kernel_norm: 1.9365,
                    kernel_shape: [1, 1],
                    pool_shape: [5, 1],                # if 1 -> no aggregation / smoothing / time-invariance
                    pool_stride: [1, 1],             # if 1 -> no sub-sampling / dimension reduction
                    pool_type: 'max',
                    tied_b: True
                },

                !obj:deepbeat.pylearn2ext.HingeLoss.HingeLoss {
                    # max_col_norm: 1.9365,
                    layer_name: 'y',
                    n_classes: 24,
                    irange: 0.050000,
                    # istdev: .05,
                    # max_col_norm: 1.9365,
                 }
                
               ]
    },
    
    algorithm: !obj:pylearn2.training_algorithms.sgd.SGD {
        seed: 13,                                  # controls dataset traversal
        batch_size: 100,
        learning_rate: 0.01,

        monitoring_dataset:
            {
                'train' : *train,
                'valid'  : &valid !obj:deepbeat.eeg.EEGDataset.EEGDataset {
                                name : 'valid',
                                path : /Users/sstober/work/datasets/rwanda2013rhythms/eeg, 
                                suffix : _13goodchannels_plus4s,
                                subjects : [6],
                                resample : [400,400],
                                start_sample : 320,
                                stop_sample  : 1184, # None (empty) = end of sequence 
                                frame_size : 33,
                                hop_size : 33,           
                                label_mode : rhythm,
                                n_fft : 96,
                                n_freq_bins : 49,
                                include_phase : False,
                                spectrum_log_amplitude : True,
                                spectrum_normalization_mode : linear_0_1,
                            },
                'test'  : &test !obj:deepbeat.eeg.EEGDataset.EEGDataset {
                                name : 'test',
                                path : /Users/sstober/work/datasets/rwanda2013rhythms/eeg, 
                                suffix : _13goodchannels_plus4s,
                                subjects : [6],
                                resample : [400,400],
                                start_sample : 11936,
                                stop_sample  : 12800,    # None (empty) = end of sequence 
                                frame_size : 33,
                                hop_size : 33,           
                                label_mode : rhythm,
                                n_fft : 96,
                                n_freq_bins : 49,
                                include_phase : False,
                                spectrum_log_amplitude : True,
                                spectrum_normalization_mode : linear_0_1,
                            },
            },
        # cost: &cost !obj:pylearn2.models.mlp.Default {},
        
        cost: &cost
        #     # !obj:pylearn2.costs.cost.SumOfCosts { 
        #     #     costs: [
                    !obj:pylearn2.costs.mlp.dropout.Dropout {
                        input_include_probs: { 'h0' : .8 },
                            input_scales: { 'h0': 1. }
                    },
        #             # !obj:pylearn2.costs.mlp.L1WeightDecay {
        #             #     coeffs: [1e-05, 1e-05, 1e-05, 1e-05, 1e-05], #[ .000001, .000001, .000001, .000001 ]
        #             # },
        #             # !obj:pylearn2.costs.mlp.WeightDecay {
        #             #     coeffs: [1e-05, 1e-05, 1e-05, 1e-05, 1e-05], #[ .000005, .000005, .000005, .000005 ]
        #             # },
        #     #     ]
        #     # },

        termination_criterion: 
            # !obj:pylearn2.termination_criteria.And {
                # criteria: [
                    # !obj:pylearn2.termination_criteria.MonitorBased {
                    #     channel_name: "valid_y_misclass",
                    #     prop_decrease: 0.50,
                    #     N: 10
                    # },
                    !obj:pylearn2.termination_criteria.EpochCounter {
                        max_epochs: 50
                    },
                # ]
            # },

        learning_rule: 
            !obj:pylearn2.training_algorithms.learning_rule.Momentum {
                init_momentum: 0.500000,
            },
            # !obj:pylearn2.training_algorithms.learning_rule.AdaDelta {},

    },
    
    extensions:
        [
            # like pylearn2.training_algorithms.sgd.ExponentialDecay
            # but only applied once per epoch (i.e. independent of batch_size)
            # decay factor needs to be adjusted as x ** num_batches_per_epoch
            !obj:deepbeat.pylearn2ext.ExponentialDecay.ExponentialDecay {
                decay_factor: 1.026897, 
                min_lr: 0.000001, 
            },

            !obj:pylearn2.training_algorithms.learning_rule.MomentumAdjustor {
                start: 1,
                saturate: 50,
                final_momentum: 0.990000,
            },            
             
            !obj:deepbeat.pylearn2ext.util.LoggingCallback {
                name: '20435_h0_pattern_width_1_h0_patterns_10_h0_pool_size_1_h1_pattern_width_1_h1_patterns_30_h1_pool_size_5_learning_rate_0.01_lr_exponential_decay_factor_1.02689651297',
                obj_channels: ['train_objective', 'train_y_misclass', 'valid_y_misclass', 'test_y_misclass'],
            },

            # should be extension last (after all computations are done)
            !obj:pylearn2.train_extensions.best_params.MonitorBasedSaveBest {
                channel_name: 'valid_y_misclass',
                higher_is_better: False,
                save_path: "/imaging/sstober/spearmint.jobs/nips/h1_norestriction.all/7/cache/_h0_pattern_width_1_h0_patterns_10_h0_pool_size_1_h1_pattern_width_1_h1_patterns_30_h1_pool_size_5_learning_rate_0.01_lr_exponential_decay_factor_1.02689651297/mlp_best.pkl",
            },

            # !obj:deepbeat.pylearn2ext.util.SaveEveryEpoch {
            #     save_path: "/imaging/sstober/spearmint.jobs/nips/h1_norestriction.all/7/cache/_h0_pattern_width_1_h0_patterns_10_h0_pool_size_1_h1_pattern_width_1_h1_patterns_30_h1_pool_size_5_learning_rate_0.01_lr_exponential_decay_factor_1.02689651297/epochs/",
            #     save_prefix: "epoch",
            # },
    ],
    
    save_freq: 1,
    save_path: "/imaging/sstober/spearmint.jobs/nips/h1_norestriction.all/7/cache/_h0_pattern_width_1_h0_patterns_10_h0_pool_size_1_h1_pattern_width_1_h1_patterns_30_h1_pool_size_5_learning_rate_0.01_lr_exponential_decay_factor_1.02689651297/mlp.pkl",
    allow_overwrite: True,
}

Input shape: (33, 49)
Detector space: (33, 1)
Output space: (33, 1)
Input shape: (33, 1)
Detector space: (33, 1)
Output space: (29, 1)
INFO:deepthought.util.yaml_util:parsing yaml done. Time elapsed: 3.024934 seconds
INFO:deepthought.experiments.nips2014.scripts.generate_plots:loading train from /Users/sstober/work/develop/deepthought-output/nips2014/models/h1/7/best/train.yaml done. Time elapsed: 3.025579 seconds
INFO:deepthought.experiments.nips2014.scripts.generate_plots:loading model from /Users/sstober/work/develop/deepthought-output/nips2014/models/h1/8/best/mlp_best.pkl...
INFO:deepthought.experiments.nips2014.scripts.generate_plots:loading model from /Users/sstober/work/develop/deepthought-output/nips2014/models/h1/8/best/mlp_best.pkl done. Time elapsed: 0.176805 seconds
INFO:deepthought.datasets.rwanda2013rhythms.PathLocalizer:changing data path to: /Users/sstober/work/datasets/rwanda2013rhythms/eeg
INFO:deepthought.experiments.nips2014.scripts.generate_plots:loading train from /Users/sstober/work/develop/deepthought-output/nips2014/models/h1/8/best/train.yaml...
INFO:deepthought.util.yaml_util:parsing yaml...
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub001TN010613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub002DI010613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub003TN020613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub004DN040613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub005NE040613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub006PN040613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub007FB050613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub008MN050613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub009DK050613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub010DO060613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub011AM060613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub012RN060613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub013MI080613/dataset_13goodchannels_plus4s.pklz
INFO:deepthought.datasets.rwanda2013rhythms.EEGDataset:loading data from /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub008MN050613/dataset_13goodchannels_plus4s.pklz...
INFO:deepthought.datasets.rwanda2013rhythms.EEGDataset:loading data from /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub008MN050613/dataset_13goodchannels_plus4s.pklz done. Time elapsed: 0.705577 seconds
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:final dataset shape: (312, 33, 49, 1) (b,0,1,c)
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:generated dataset "test" with shape X=(312, 1617) y=(312, 24) labels=(312,) 
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub001TN010613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub002DI010613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub003TN020613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub004DN040613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub005NE040613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub006PN040613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub007FB050613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub008MN050613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub009DK050613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub010DO060613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub011AM060613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub012RN060613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub013MI080613/dataset_13goodchannels_plus4s.pklz
INFO:deepthought.datasets.rwanda2013rhythms.EEGDataset:loading data from /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub008MN050613/dataset_13goodchannels_plus4s.pklz...
INFO:deepthought.datasets.rwanda2013rhythms.EEGDataset:loading data from /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub008MN050613/dataset_13goodchannels_plus4s.pklz done. Time elapsed: 1.024289 seconds
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:final dataset shape: (4056, 33, 49, 1) (b,0,1,c)
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:generated dataset "train" with shape X=(4056, 1617) y=(4056, 24) labels=(4056,) 
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub001TN010613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub002DI010613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub003TN020613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub004DN040613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub005NE040613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub006PN040613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub007FB050613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub008MN050613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub009DK050613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub010DO060613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub011AM060613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub012RN060613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub013MI080613/dataset_13goodchannels_plus4s.pklz
INFO:deepthought.datasets.rwanda2013rhythms.EEGDataset:loading data from /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub008MN050613/dataset_13goodchannels_plus4s.pklz...
INFO:deepthought.datasets.rwanda2013rhythms.EEGDataset:loading data from /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub008MN050613/dataset_13goodchannels_plus4s.pklz done. Time elapsed: 0.765345 seconds
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:final dataset shape: (312, 33, 49, 1) (b,0,1,c)
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:generated dataset "valid" with shape X=(312, 1617) y=(312, 24) labels=(312,) 
None
!obj:pylearn2.train.Train {
    dataset: &train !obj:deepbeat.eeg.EEGDataset.EEGDataset {
        name : 'train',
        path : /Users/sstober/work/datasets/rwanda2013rhythms/eeg,
        suffix : _13goodchannels_plus4s,
        subjects : [7],
        resample : [400,400],
        # start_sample : 864,
        start_sample : 1184,
        stop_sample  : 11936,                   # None (empty) = end of sequence 
        frame_size : 33,
        hop_size : 33,
        label_mode : rhythm,
        n_fft : 96,                      # None (empty) = raw signal
        n_freq_bins : 49,
        include_phase : False,
        spectrum_log_amplitude : True,
        spectrum_normalization_mode : linear_0_1,
    },
    
    model: &model !obj:pylearn2.models.mlp.MLP {
        seed : 13,                                        # controls initialization
        batch_size: 100,
        input_space: !obj:pylearn2.space.Conv2DSpace {
                        shape: [33, 49],                  # just 1d
                        num_channels: 1,
                    },
        layers: [
                !obj:pylearn2.models.mlp.ConvRectifiedLinear {
                    layer_name: 'h0',
                    output_channels: 21,            # number of feature maps
                    irange: 0.050000,
                    # init_bias: ,                    
                    # max_kernel_norm: 1.9365,
                    kernel_shape: [5, 49],         
                    pool_shape: [2, 1],                # if 1 -> no aggregation / smoothing / time-invariance
                    pool_stride: [1, 1],             # if 1 -> no sub-sampling / dimension reduction
                    pool_type: 'max',
                    tied_b: True
                },

                !obj:pylearn2.models.mlp.ConvRectifiedLinear {
                    layer_name: 'h1',
                    output_channels: 24,            # number of feature maps
                    irange: 0.050000,
                    # init_bias: ,
                    # max_kernel_norm: 1.9365,
                    kernel_shape: [2, 1],
                    pool_shape: [2, 1],                # if 1 -> no aggregation / smoothing / time-invariance
                    pool_stride: [1, 1],             # if 1 -> no sub-sampling / dimension reduction
                    pool_type: 'max',
                    tied_b: True
                },

                !obj:deepbeat.pylearn2ext.HingeLoss.HingeLoss {
                    # max_col_norm: 1.9365,
                    layer_name: 'y',
                    n_classes: 24,
                    irange: 0.050000,
                    # istdev: .05,
                    # max_col_norm: 1.9365,
                 }
                
               ]
    },
    
    algorithm: !obj:pylearn2.training_algorithms.sgd.SGD {
        seed: 13,                                  # controls dataset traversal
        batch_size: 100,
        learning_rate: 0.00809359741211,

        monitoring_dataset:
            {
                'train' : *train,
                'valid'  : &valid !obj:deepbeat.eeg.EEGDataset.EEGDataset {
                                name : 'valid',
                                path : /Users/sstober/work/datasets/rwanda2013rhythms/eeg, 
                                suffix : _13goodchannels_plus4s,
                                subjects : [7],
                                resample : [400,400],
                                start_sample : 320,
                                stop_sample  : 1184, # None (empty) = end of sequence 
                                frame_size : 33,
                                hop_size : 33,           
                                label_mode : rhythm,
                                n_fft : 96,
                                n_freq_bins : 49,
                                include_phase : False,
                                spectrum_log_amplitude : True,
                                spectrum_normalization_mode : linear_0_1,
                            },
                'test'  : &test !obj:deepbeat.eeg.EEGDataset.EEGDataset {
                                name : 'test',
                                path : /Users/sstober/work/datasets/rwanda2013rhythms/eeg, 
                                suffix : _13goodchannels_plus4s,
                                subjects : [7],
                                resample : [400,400],
                                start_sample : 11936,
                                stop_sample  : 12800,    # None (empty) = end of sequence 
                                frame_size : 33,
                                hop_size : 33,           
                                label_mode : rhythm,
                                n_fft : 96,
                                n_freq_bins : 49,
                                include_phase : False,
                                spectrum_log_amplitude : True,
                                spectrum_normalization_mode : linear_0_1,
                            },
            },
        # cost: &cost !obj:pylearn2.models.mlp.Default {},
        
        cost: &cost
        #     # !obj:pylearn2.costs.cost.SumOfCosts { 
        #     #     costs: [
                    !obj:pylearn2.costs.mlp.dropout.Dropout {
                        input_include_probs: { 'h0' : .8 },
                            input_scales: { 'h0': 1. }
                    },
        #             # !obj:pylearn2.costs.mlp.L1WeightDecay {
        #             #     coeffs: [1e-05, 1e-05, 1e-05, 1e-05, 1e-05], #[ .000001, .000001, .000001, .000001 ]
        #             # },
        #             # !obj:pylearn2.costs.mlp.WeightDecay {
        #             #     coeffs: [1e-05, 1e-05, 1e-05, 1e-05, 1e-05], #[ .000005, .000005, .000005, .000005 ]
        #             # },
        #     #     ]
        #     # },

        termination_criterion: 
            # !obj:pylearn2.termination_criteria.And {
                # criteria: [
                    # !obj:pylearn2.termination_criteria.MonitorBased {
                    #     channel_name: "valid_y_misclass",
                    #     prop_decrease: 0.50,
                    #     N: 10
                    # },
                    !obj:pylearn2.termination_criteria.EpochCounter {
                        max_epochs: 50
                    },
                # ]
            # },

        learning_rule: 
            !obj:pylearn2.training_algorithms.learning_rule.Momentum {
                init_momentum: 0.500000,
            },
            # !obj:pylearn2.training_algorithms.learning_rule.AdaDelta {},

    },
    
    extensions:
        [
            # like pylearn2.training_algorithms.sgd.ExponentialDecay
            # but only applied once per epoch (i.e. independent of batch_size)
            # decay factor needs to be adjusted as x ** num_batches_per_epoch
            !obj:deepbeat.pylearn2ext.ExponentialDecay.ExponentialDecay {
                decay_factor: 1.006699, 
                min_lr: 0.000001, 
            },

            !obj:pylearn2.training_algorithms.learning_rule.MomentumAdjustor {
                start: 1,
                saturate: 50,
                final_momentum: 0.990000,
            },            
             
            !obj:deepbeat.pylearn2ext.util.LoggingCallback {
                name: '20330_h0_pattern_width_5_h0_patterns_21_h0_pool_size_2_h1_pattern_width_2_h1_patterns_24_h1_pool_size_2_learning_rate_0.00809359741211_lr_exponential_decay_factor_1.0066986084',
                obj_channels: ['train_objective', 'train_y_misclass', 'valid_y_misclass', 'test_y_misclass'],
            },

            # should be extension last (after all computations are done)
            !obj:pylearn2.train_extensions.best_params.MonitorBasedSaveBest {
                channel_name: 'valid_y_misclass',
                higher_is_better: False,
                save_path: "/imaging/sstober/spearmint.jobs/nips/h1_norestriction.all/8/cache/_h0_pattern_width_5_h0_patterns_21_h0_pool_size_2_h1_pattern_width_2_h1_patterns_24_h1_pool_size_2_learning_rate_0.00809359741211_lr_exponential_decay_factor_1.0066986084/mlp_best.pkl",
            },

            # !obj:deepbeat.pylearn2ext.util.SaveEveryEpoch {
            #     save_path: "/imaging/sstober/spearmint.jobs/nips/h1_norestriction.all/8/cache/_h0_pattern_width_5_h0_patterns_21_h0_pool_size_2_h1_pattern_width_2_h1_patterns_24_h1_pool_size_2_learning_rate_0.00809359741211_lr_exponential_decay_factor_1.0066986084/epochs/",
            #     save_prefix: "epoch",
            # },
    ],
    
    save_freq: 1,
    save_path: "/imaging/sstober/spearmint.jobs/nips/h1_norestriction.all/8/cache/_h0_pattern_width_5_h0_patterns_21_h0_pool_size_2_h1_pattern_width_2_h1_patterns_24_h1_pool_size_2_learning_rate_0.00809359741211_lr_exponential_decay_factor_1.0066986084/mlp.pkl",
    allow_overwrite: True,
}

Input shape: (33, 49)
Detector space: (29, 1)
Output space: (28, 1)
Input shape: (28, 1)
Detector space: (27, 1)
Output space: (26, 1)
INFO:deepthought.util.yaml_util:parsing yaml done. Time elapsed: 2.973890 seconds
INFO:deepthought.experiments.nips2014.scripts.generate_plots:loading train from /Users/sstober/work/develop/deepthought-output/nips2014/models/h1/8/best/train.yaml done. Time elapsed: 2.974565 seconds
INFO:deepthought.experiments.nips2014.scripts.generate_plots:loading model from /Users/sstober/work/develop/deepthought-output/nips2014/models/h1/9/best/mlp_best.pkl...
INFO:deepthought.experiments.nips2014.scripts.generate_plots:loading model from /Users/sstober/work/develop/deepthought-output/nips2014/models/h1/9/best/mlp_best.pkl done. Time elapsed: 0.048645 seconds
INFO:deepthought.datasets.rwanda2013rhythms.PathLocalizer:changing data path to: /Users/sstober/work/datasets/rwanda2013rhythms/eeg
INFO:deepthought.experiments.nips2014.scripts.generate_plots:loading train from /Users/sstober/work/develop/deepthought-output/nips2014/models/h1/9/best/train.yaml...
INFO:deepthought.util.yaml_util:parsing yaml...
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub001TN010613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub002DI010613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub003TN020613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub004DN040613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub005NE040613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub006PN040613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub007FB050613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub008MN050613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub009DK050613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub010DO060613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub011AM060613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub012RN060613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub013MI080613/dataset_13goodchannels_plus4s.pklz
INFO:deepthought.datasets.rwanda2013rhythms.EEGDataset:loading data from /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub009DK050613/dataset_13goodchannels_plus4s.pklz...
INFO:deepthought.datasets.rwanda2013rhythms.EEGDataset:loading data from /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub009DK050613/dataset_13goodchannels_plus4s.pklz done. Time elapsed: 0.793752 seconds
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:final dataset shape: (312, 33, 49, 1) (b,0,1,c)
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:generated dataset "test" with shape X=(312, 1617) y=(312, 24) labels=(312,) 
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub001TN010613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub002DI010613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub003TN020613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub004DN040613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub005NE040613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub006PN040613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub007FB050613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub008MN050613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub009DK050613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub010DO060613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub011AM060613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub012RN060613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub013MI080613/dataset_13goodchannels_plus4s.pklz
INFO:deepthought.datasets.rwanda2013rhythms.EEGDataset:loading data from /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub009DK050613/dataset_13goodchannels_plus4s.pklz...
INFO:deepthought.datasets.rwanda2013rhythms.EEGDataset:loading data from /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub009DK050613/dataset_13goodchannels_plus4s.pklz done. Time elapsed: 1.074721 seconds
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:final dataset shape: (4056, 33, 49, 1) (b,0,1,c)
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:generated dataset "train" with shape X=(4056, 1617) y=(4056, 24) labels=(4056,) 
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub001TN010613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub002DI010613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub003TN020613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub004DN040613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub005NE040613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub006PN040613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub007FB050613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub008MN050613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub009DK050613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub010DO060613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub011AM060613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub012RN060613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub013MI080613/dataset_13goodchannels_plus4s.pklz
INFO:deepthought.datasets.rwanda2013rhythms.EEGDataset:loading data from /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub009DK050613/dataset_13goodchannels_plus4s.pklz...
INFO:deepthought.datasets.rwanda2013rhythms.EEGDataset:loading data from /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub009DK050613/dataset_13goodchannels_plus4s.pklz done. Time elapsed: 0.778427 seconds
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:final dataset shape: (312, 33, 49, 1) (b,0,1,c)
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:generated dataset "valid" with shape X=(312, 1617) y=(312, 24) labels=(312,) 
None
!obj:pylearn2.train.Train {
    dataset: &train !obj:deepbeat.eeg.EEGDataset.EEGDataset {
        name : 'train',
        path : /Users/sstober/work/datasets/rwanda2013rhythms/eeg,
        suffix : _13goodchannels_plus4s,
        subjects : [8],
        resample : [400,400],
        # start_sample : 864,
        start_sample : 1184,
        stop_sample  : 11936,                   # None (empty) = end of sequence 
        frame_size : 33,
        hop_size : 33,
        label_mode : rhythm,
        n_fft : 96,                      # None (empty) = raw signal
        n_freq_bins : 49,
        include_phase : False,
        spectrum_log_amplitude : True,
        spectrum_normalization_mode : linear_0_1,
    },
    
    model: &model !obj:pylearn2.models.mlp.MLP {
        seed : 13,                                        # controls initialization
        batch_size: 100,
        input_space: !obj:pylearn2.space.Conv2DSpace {
                        shape: [33, 49],                  # just 1d
                        num_channels: 1,
                    },
        layers: [
                !obj:pylearn2.models.mlp.ConvRectifiedLinear {
                    layer_name: 'h0',
                    output_channels: 21,            # number of feature maps
                    irange: 0.050000,
                    # init_bias: ,                    
                    # max_kernel_norm: 1.9365,
                    kernel_shape: [13, 49],         
                    pool_shape: [2, 1],                # if 1 -> no aggregation / smoothing / time-invariance
                    pool_stride: [1, 1],             # if 1 -> no sub-sampling / dimension reduction
                    pool_type: 'max',
                    tied_b: True
                },

                !obj:pylearn2.models.mlp.ConvRectifiedLinear {
                    layer_name: 'h1',
                    output_channels: 30,            # number of feature maps
                    irange: 0.050000,
                    # init_bias: ,
                    # max_kernel_norm: 1.9365,
                    kernel_shape: [6, 1],
                    pool_shape: [4, 1],                # if 1 -> no aggregation / smoothing / time-invariance
                    pool_stride: [1, 1],             # if 1 -> no sub-sampling / dimension reduction
                    pool_type: 'max',
                    tied_b: True
                },

                !obj:deepbeat.pylearn2ext.HingeLoss.HingeLoss {
                    # max_col_norm: 1.9365,
                    layer_name: 'y',
                    n_classes: 24,
                    irange: 0.050000,
                    # istdev: .05,
                    # max_col_norm: 1.9365,
                 }
                
               ]
    },
    
    algorithm: !obj:pylearn2.training_algorithms.sgd.SGD {
        seed: 13,                                  # controls dataset traversal
        batch_size: 100,
        learning_rate: 0.00647064208984,

        monitoring_dataset:
            {
                'train' : *train,
                'valid'  : &valid !obj:deepbeat.eeg.EEGDataset.EEGDataset {
                                name : 'valid',
                                path : /Users/sstober/work/datasets/rwanda2013rhythms/eeg, 
                                suffix : _13goodchannels_plus4s,
                                subjects : [8],
                                resample : [400,400],
                                start_sample : 320,
                                stop_sample  : 1184, # None (empty) = end of sequence 
                                frame_size : 33,
                                hop_size : 33,           
                                label_mode : rhythm,
                                n_fft : 96,
                                n_freq_bins : 49,
                                include_phase : False,
                                spectrum_log_amplitude : True,
                                spectrum_normalization_mode : linear_0_1,
                            },
                'test'  : &test !obj:deepbeat.eeg.EEGDataset.EEGDataset {
                                name : 'test',
                                path : /Users/sstober/work/datasets/rwanda2013rhythms/eeg, 
                                suffix : _13goodchannels_plus4s,
                                subjects : [8],
                                resample : [400,400],
                                start_sample : 11936,
                                stop_sample  : 12800,    # None (empty) = end of sequence 
                                frame_size : 33,
                                hop_size : 33,           
                                label_mode : rhythm,
                                n_fft : 96,
                                n_freq_bins : 49,
                                include_phase : False,
                                spectrum_log_amplitude : True,
                                spectrum_normalization_mode : linear_0_1,
                            },
            },
        # cost: &cost !obj:pylearn2.models.mlp.Default {},
        
        cost: &cost
        #     # !obj:pylearn2.costs.cost.SumOfCosts { 
        #     #     costs: [
                    !obj:pylearn2.costs.mlp.dropout.Dropout {
                        input_include_probs: { 'h0' : .8 },
                            input_scales: { 'h0': 1. }
                    },
        #             # !obj:pylearn2.costs.mlp.L1WeightDecay {
        #             #     coeffs: [1e-05, 1e-05, 1e-05, 1e-05, 1e-05], #[ .000001, .000001, .000001, .000001 ]
        #             # },
        #             # !obj:pylearn2.costs.mlp.WeightDecay {
        #             #     coeffs: [1e-05, 1e-05, 1e-05, 1e-05, 1e-05], #[ .000005, .000005, .000005, .000005 ]
        #             # },
        #     #     ]
        #     # },

        termination_criterion: 
            # !obj:pylearn2.termination_criteria.And {
                # criteria: [
                    # !obj:pylearn2.termination_criteria.MonitorBased {
                    #     channel_name: "valid_y_misclass",
                    #     prop_decrease: 0.50,
                    #     N: 10
                    # },
                    !obj:pylearn2.termination_criteria.EpochCounter {
                        max_epochs: 50
                    },
                # ]
            # },

        learning_rule: 
            !obj:pylearn2.training_algorithms.learning_rule.Momentum {
                init_momentum: 0.500000,
            },
            # !obj:pylearn2.training_algorithms.learning_rule.AdaDelta {},

    },
    
    extensions:
        [
            # like pylearn2.training_algorithms.sgd.ExponentialDecay
            # but only applied once per epoch (i.e. independent of batch_size)
            # decay factor needs to be adjusted as x ** num_batches_per_epoch
            !obj:deepbeat.pylearn2ext.ExponentialDecay.ExponentialDecay {
                decay_factor: 1.059845, 
                min_lr: 0.000001, 
            },

            !obj:pylearn2.training_algorithms.learning_rule.MomentumAdjustor {
                start: 1,
                saturate: 50,
                final_momentum: 0.990000,
            },            
             
            !obj:deepbeat.pylearn2ext.util.LoggingCallback {
                name: '20440_h0_pattern_width_13_h0_patterns_21_h0_pool_size_2_h1_pattern_width_6_h1_patterns_30_h1_pool_size_4_learning_rate_0.00647064208984_lr_exponential_decay_factor_1.0598449707',
                obj_channels: ['train_objective', 'train_y_misclass', 'valid_y_misclass', 'test_y_misclass'],
            },

            # should be extension last (after all computations are done)
            !obj:pylearn2.train_extensions.best_params.MonitorBasedSaveBest {
                channel_name: 'valid_y_misclass',
                higher_is_better: False,
                save_path: "/imaging/sstober/spearmint.jobs/nips/h1_norestriction.all/9/cache/_h0_pattern_width_13_h0_patterns_21_h0_pool_size_2_h1_pattern_width_6_h1_patterns_30_h1_pool_size_4_learning_rate_0.00647064208984_lr_exponential_decay_factor_1.0598449707/mlp_best.pkl",
            },

            # !obj:deepbeat.pylearn2ext.util.SaveEveryEpoch {
            #     save_path: "/imaging/sstober/spearmint.jobs/nips/h1_norestriction.all/9/cache/_h0_pattern_width_13_h0_patterns_21_h0_pool_size_2_h1_pattern_width_6_h1_patterns_30_h1_pool_size_4_learning_rate_0.00647064208984_lr_exponential_decay_factor_1.0598449707/epochs/",
            #     save_prefix: "epoch",
            # },
    ],
    
    save_freq: 1,
    save_path: "/imaging/sstober/spearmint.jobs/nips/h1_norestriction.all/9/cache/_h0_pattern_width_13_h0_patterns_21_h0_pool_size_2_h1_pattern_width_6_h1_patterns_30_h1_pool_size_4_learning_rate_0.00647064208984_lr_exponential_decay_factor_1.0598449707/mlp.pkl",
    allow_overwrite: True,
}

Input shape: (33, 49)
Detector space: (21, 1)
Output space: (20, 1)
Input shape: (20, 1)
Detector space: (15, 1)
Output space: (12, 1)
INFO:deepthought.util.yaml_util:parsing yaml done. Time elapsed: 3.171117 seconds
INFO:deepthought.experiments.nips2014.scripts.generate_plots:loading train from /Users/sstober/work/develop/deepthought-output/nips2014/models/h1/9/best/train.yaml done. Time elapsed: 3.171745 seconds
INFO:deepthought.experiments.nips2014.scripts.generate_plots:loading model from /Users/sstober/work/develop/deepthought-output/nips2014/models/h1/10/best/mlp_best.pkl...
INFO:deepthought.experiments.nips2014.scripts.generate_plots:loading model from /Users/sstober/work/develop/deepthought-output/nips2014/models/h1/10/best/mlp_best.pkl done. Time elapsed: 0.175139 seconds
INFO:deepthought.datasets.rwanda2013rhythms.PathLocalizer:changing data path to: /Users/sstober/work/datasets/rwanda2013rhythms/eeg
INFO:deepthought.experiments.nips2014.scripts.generate_plots:loading train from /Users/sstober/work/develop/deepthought-output/nips2014/models/h1/10/best/train.yaml...
INFO:deepthought.util.yaml_util:parsing yaml...
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub001TN010613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub002DI010613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub003TN020613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub004DN040613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub005NE040613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub006PN040613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub007FB050613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub008MN050613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub009DK050613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub010DO060613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub011AM060613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub012RN060613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub013MI080613/dataset_13goodchannels_plus4s.pklz
INFO:deepthought.datasets.rwanda2013rhythms.EEGDataset:loading data from /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub010DO060613/dataset_13goodchannels_plus4s.pklz...
INFO:deepthought.datasets.rwanda2013rhythms.EEGDataset:loading data from /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub010DO060613/dataset_13goodchannels_plus4s.pklz done. Time elapsed: 0.754929 seconds
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:final dataset shape: (312, 45, 49, 1) (b,0,1,c)
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:generated dataset "test" with shape X=(312, 2205) y=(312, 24) labels=(312,) 
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub001TN010613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub002DI010613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub003TN020613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub004DN040613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub005NE040613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub006PN040613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub007FB050613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub008MN050613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub009DK050613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub010DO060613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub011AM060613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub012RN060613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub013MI080613/dataset_13goodchannels_plus4s.pklz
INFO:deepthought.datasets.rwanda2013rhythms.EEGDataset:loading data from /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub010DO060613/dataset_13goodchannels_plus4s.pklz...
INFO:deepthought.datasets.rwanda2013rhythms.EEGDataset:loading data from /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub010DO060613/dataset_13goodchannels_plus4s.pklz done. Time elapsed: 0.986376 seconds
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:final dataset shape: (2808, 45, 49, 1) (b,0,1,c)
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:generated dataset "train" with shape X=(2808, 2205) y=(2808, 24) labels=(2808,) 
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub001TN010613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub002DI010613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub003TN020613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub004DN040613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub005NE040613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub006PN040613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub007FB050613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub008MN050613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub009DK050613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub010DO060613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub011AM060613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub012RN060613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub013MI080613/dataset_13goodchannels_plus4s.pklz
INFO:deepthought.datasets.rwanda2013rhythms.EEGDataset:loading data from /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub010DO060613/dataset_13goodchannels_plus4s.pklz...
INFO:deepthought.datasets.rwanda2013rhythms.EEGDataset:loading data from /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub010DO060613/dataset_13goodchannels_plus4s.pklz done. Time elapsed: 0.739017 seconds
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:final dataset shape: (312, 45, 49, 1) (b,0,1,c)
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:generated dataset "valid" with shape X=(312, 2205) y=(312, 24) labels=(312,) 
None
!obj:pylearn2.train.Train {
    dataset: &train !obj:deepbeat.eeg.EEGDataset.EEGDataset {
        name : 'train',
        path : /Users/sstober/work/datasets/rwanda2013rhythms/eeg,
        suffix : _13goodchannels_plus4s,
        subjects : [9],
        resample : [400,400],
        # start_sample : 1152,
        start_sample : 1472,
        stop_sample  : 11648,                   # None (empty) = end of sequence 
        frame_size : 45,
        hop_size : 45,
        label_mode : rhythm,
        n_fft : 96,                      # None (empty) = raw signal
        n_freq_bins : 49,
        include_phase : False,
        spectrum_log_amplitude : True,
        spectrum_normalization_mode : linear_0_1,
    },
    
    model: &model !obj:pylearn2.models.mlp.MLP {
        seed : 13,                                        # controls initialization
        batch_size: 100,
        input_space: !obj:pylearn2.space.Conv2DSpace {
                        shape: [45, 49],                  # just 1d
                        num_channels: 1,
                    },
        layers: [
                !obj:pylearn2.models.mlp.ConvRectifiedLinear {
                    layer_name: 'h0',
                    output_channels: 30,            # number of feature maps
                    irange: 0.050000,
                    # init_bias: ,                    
                    # max_kernel_norm: 1.9365,
                    kernel_shape: [6, 49],         
                    pool_shape: [1, 1],                # if 1 -> no aggregation / smoothing / time-invariance
                    pool_stride: [1, 1],             # if 1 -> no sub-sampling / dimension reduction
                    pool_type: 'max',
                    tied_b: True
                },

                !obj:pylearn2.models.mlp.ConvRectifiedLinear {
                    layer_name: 'h1',
                    output_channels: 30,            # number of feature maps
                    irange: 0.050000,
                    # init_bias: ,
                    # max_kernel_norm: 1.9365,
                    kernel_shape: [1, 1],
                    pool_shape: [10, 1],                # if 1 -> no aggregation / smoothing / time-invariance
                    pool_stride: [1, 1],             # if 1 -> no sub-sampling / dimension reduction
                    pool_type: 'max',
                    tied_b: True
                },

                !obj:deepbeat.pylearn2ext.HingeLoss.HingeLoss {
                    # max_col_norm: 1.9365,
                    layer_name: 'y',
                    n_classes: 24,
                    irange: 0.050000,
                    # istdev: .05,
                    # max_col_norm: 1.9365,
                 }
                
               ]
    },
    
    algorithm: !obj:pylearn2.training_algorithms.sgd.SGD {
        seed: 13,                                  # controls dataset traversal
        batch_size: 100,
        learning_rate: 0.00374284122686,

        monitoring_dataset:
            {
                'train' : *train,
                'valid'  : &valid !obj:deepbeat.eeg.EEGDataset.EEGDataset {
                                name : 'valid',
                                path : /Users/sstober/work/datasets/rwanda2013rhythms/eeg, 
                                suffix : _13goodchannels_plus4s,
                                subjects : [9],
                                resample : [400,400],
                                start_sample : 320,
                                stop_sample  : 1472, # None (empty) = end of sequence 
                                frame_size : 45,
                                hop_size : 45,           
                                label_mode : rhythm,
                                n_fft : 96,
                                n_freq_bins : 49,
                                include_phase : False,
                                spectrum_log_amplitude : True,
                                spectrum_normalization_mode : linear_0_1,
                            },
                'test'  : &test !obj:deepbeat.eeg.EEGDataset.EEGDataset {
                                name : 'test',
                                path : /Users/sstober/work/datasets/rwanda2013rhythms/eeg, 
                                suffix : _13goodchannels_plus4s,
                                subjects : [9],
                                resample : [400,400],
                                start_sample : 11648,
                                stop_sample  : 12800,    # None (empty) = end of sequence 
                                frame_size : 45,
                                hop_size : 45,           
                                label_mode : rhythm,
                                n_fft : 96,
                                n_freq_bins : 49,
                                include_phase : False,
                                spectrum_log_amplitude : True,
                                spectrum_normalization_mode : linear_0_1,
                            },
            },
        # cost: &cost !obj:pylearn2.models.mlp.Default {},
        
        cost: &cost
        #     # !obj:pylearn2.costs.cost.SumOfCosts { 
        #     #     costs: [
                    !obj:pylearn2.costs.mlp.dropout.Dropout {
                        input_include_probs: { 'h0' : .8 },
                            input_scales: { 'h0': 1. }
                    },
        #             # !obj:pylearn2.costs.mlp.L1WeightDecay {
        #             #     coeffs: [1e-05, 1e-05, 1e-05, 1e-05, 1e-05], #[ .000001, .000001, .000001, .000001 ]
        #             # },
        #             # !obj:pylearn2.costs.mlp.WeightDecay {
        #             #     coeffs: [1e-05, 1e-05, 1e-05, 1e-05, 1e-05], #[ .000005, .000005, .000005, .000005 ]
        #             # },
        #     #     ]
        #     # },

        termination_criterion: 
            # !obj:pylearn2.termination_criteria.And {
                # criteria: [
                    # !obj:pylearn2.termination_criteria.MonitorBased {
                    #     channel_name: "valid_y_misclass",
                    #     prop_decrease: 0.50,
                    #     N: 10
                    # },
                    !obj:pylearn2.termination_criteria.EpochCounter {
                        max_epochs: 50
                    },
                # ]
            # },

        learning_rule: 
            !obj:pylearn2.training_algorithms.learning_rule.Momentum {
                init_momentum: 0.500000,
            },
            # !obj:pylearn2.training_algorithms.learning_rule.AdaDelta {},

    },
    
    extensions:
        [
            # like pylearn2.training_algorithms.sgd.ExponentialDecay
            # but only applied once per epoch (i.e. independent of batch_size)
            # decay factor needs to be adjusted as x ** num_batches_per_epoch
            !obj:deepbeat.pylearn2ext.ExponentialDecay.ExponentialDecay {
                decay_factor: 1.000000, 
                min_lr: 0.000001, 
            },

            !obj:pylearn2.training_algorithms.learning_rule.MomentumAdjustor {
                start: 1,
                saturate: 50,
                final_momentum: 0.990000,
            },            
             
            !obj:deepbeat.pylearn2ext.util.LoggingCallback {
                name: '20083_h0_pattern_width_6_h0_patterns_30_h0_pool_size_1_h1_pattern_width_1_h1_patterns_30_h1_pool_size_10_learning_rate_0.00374284122686_lr_exponential_decay_factor_1.0',
                obj_channels: ['train_objective', 'train_y_misclass', 'valid_y_misclass', 'test_y_misclass'],
            },

            # should be extension last (after all computations are done)
            !obj:pylearn2.train_extensions.best_params.MonitorBasedSaveBest {
                channel_name: 'valid_y_misclass',
                higher_is_better: False,
                save_path: "/imaging/sstober/spearmint.jobs/nips/h1_norestriction.all/10/cache/_h0_pattern_width_6_h0_patterns_30_h0_pool_size_1_h1_pattern_width_1_h1_patterns_30_h1_pool_size_10_learning_rate_0.00374284122686_lr_exponential_decay_factor_1.0/mlp_best.pkl",
            },

            # !obj:deepbeat.pylearn2ext.util.SaveEveryEpoch {
            #     save_path: "/imaging/sstober/spearmint.jobs/nips/h1_norestriction.all/10/cache/_h0_pattern_width_6_h0_patterns_30_h0_pool_size_1_h1_pattern_width_1_h1_patterns_30_h1_pool_size_10_learning_rate_0.00374284122686_lr_exponential_decay_factor_1.0/epochs/",
            #     save_prefix: "epoch",
            # },
    ],
    
    save_freq: 1,
    save_path: "/imaging/sstober/spearmint.jobs/nips/h1_norestriction.all/10/cache/_h0_pattern_width_6_h0_patterns_30_h0_pool_size_1_h1_pattern_width_1_h1_patterns_30_h1_pool_size_10_learning_rate_0.00374284122686_lr_exponential_decay_factor_1.0/mlp.pkl",
    allow_overwrite: True,
}

Input shape: (45, 49)
Detector space: (40, 1)
Output space: (40, 1)
Input shape: (40, 1)
Detector space: (40, 1)
Output space: (31, 1)
INFO:deepthought.util.yaml_util:parsing yaml done. Time elapsed: 3.372413 seconds
INFO:deepthought.experiments.nips2014.scripts.generate_plots:loading train from /Users/sstober/work/develop/deepthought-output/nips2014/models/h1/10/best/train.yaml done. Time elapsed: 3.373084 seconds
INFO:deepthought.experiments.nips2014.scripts.generate_plots:loading model from /Users/sstober/work/develop/deepthought-output/nips2014/models/h1/11/best/mlp_best.pkl...
INFO:deepthought.experiments.nips2014.scripts.generate_plots:loading model from /Users/sstober/work/develop/deepthought-output/nips2014/models/h1/11/best/mlp_best.pkl done. Time elapsed: 0.183489 seconds
INFO:deepthought.datasets.rwanda2013rhythms.PathLocalizer:changing data path to: /Users/sstober/work/datasets/rwanda2013rhythms/eeg
INFO:deepthought.experiments.nips2014.scripts.generate_plots:loading train from /Users/sstober/work/develop/deepthought-output/nips2014/models/h1/11/best/train.yaml...
INFO:deepthought.util.yaml_util:parsing yaml...
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub001TN010613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub002DI010613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub003TN020613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub004DN040613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub005NE040613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub006PN040613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub007FB050613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub008MN050613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub009DK050613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub010DO060613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub011AM060613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub012RN060613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub013MI080613/dataset_13goodchannels_plus4s.pklz
INFO:deepthought.datasets.rwanda2013rhythms.EEGDataset:loading data from /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub011AM060613/dataset_13goodchannels_plus4s.pklz...
INFO:deepthought.datasets.rwanda2013rhythms.EEGDataset:loading data from /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub011AM060613/dataset_13goodchannels_plus4s.pklz done. Time elapsed: 0.706514 seconds
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:final dataset shape: (312, 45, 49, 1) (b,0,1,c)
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:generated dataset "test" with shape X=(312, 2205) y=(312, 24) labels=(312,) 
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub001TN010613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub002DI010613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub003TN020613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub004DN040613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub005NE040613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub006PN040613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub007FB050613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub008MN050613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub009DK050613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub010DO060613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub011AM060613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub012RN060613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub013MI080613/dataset_13goodchannels_plus4s.pklz
INFO:deepthought.datasets.rwanda2013rhythms.EEGDataset:loading data from /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub011AM060613/dataset_13goodchannels_plus4s.pklz...
INFO:deepthought.datasets.rwanda2013rhythms.EEGDataset:loading data from /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub011AM060613/dataset_13goodchannels_plus4s.pklz done. Time elapsed: 0.988715 seconds
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:final dataset shape: (2808, 45, 49, 1) (b,0,1,c)
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:generated dataset "train" with shape X=(2808, 2205) y=(2808, 24) labels=(2808,) 
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub001TN010613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub002DI010613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub003TN020613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub004DN040613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub005NE040613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub006PN040613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub007FB050613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub008MN050613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub009DK050613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub010DO060613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub011AM060613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub012RN060613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub013MI080613/dataset_13goodchannels_plus4s.pklz
INFO:deepthought.datasets.rwanda2013rhythms.EEGDataset:loading data from /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub011AM060613/dataset_13goodchannels_plus4s.pklz...
INFO:deepthought.datasets.rwanda2013rhythms.EEGDataset:loading data from /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub011AM060613/dataset_13goodchannels_plus4s.pklz done. Time elapsed: 0.693460 seconds
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:final dataset shape: (312, 45, 49, 1) (b,0,1,c)
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:generated dataset "valid" with shape X=(312, 2205) y=(312, 24) labels=(312,) 
None
!obj:pylearn2.train.Train {
    dataset: &train !obj:deepbeat.eeg.EEGDataset.EEGDataset {
        name : 'train',
        path : /Users/sstober/work/datasets/rwanda2013rhythms/eeg,
        suffix : _13goodchannels_plus4s,
        subjects : [10],
        resample : [400,400],
        # start_sample : 1152,
        start_sample : 1472,
        stop_sample  : 11648,                   # None (empty) = end of sequence 
        frame_size : 45,
        hop_size : 45,
        label_mode : rhythm,
        n_fft : 96,                      # None (empty) = raw signal
        n_freq_bins : 49,
        include_phase : False,
        spectrum_log_amplitude : True,
        spectrum_normalization_mode : linear_0_1,
    },
    
    model: &model !obj:pylearn2.models.mlp.MLP {
        seed : 13,                                        # controls initialization
        batch_size: 100,
        input_space: !obj:pylearn2.space.Conv2DSpace {
                        shape: [45, 49],                  # just 1d
                        num_channels: 1,
                    },
        layers: [
                !obj:pylearn2.models.mlp.ConvRectifiedLinear {
                    layer_name: 'h0',
                    output_channels: 22,            # number of feature maps
                    irange: 0.050000,
                    # init_bias: ,                    
                    # max_kernel_norm: 1.9365,
                    kernel_shape: [25, 49],         
                    pool_shape: [1, 1],                # if 1 -> no aggregation / smoothing / time-invariance
                    pool_stride: [1, 1],             # if 1 -> no sub-sampling / dimension reduction
                    pool_type: 'max',
                    tied_b: True
                },

                !obj:pylearn2.models.mlp.ConvRectifiedLinear {
                    layer_name: 'h1',
                    output_channels: 23,            # number of feature maps
                    irange: 0.050000,
                    # init_bias: ,
                    # max_kernel_norm: 1.9365,
                    kernel_shape: [5, 1],
                    pool_shape: [2, 1],                # if 1 -> no aggregation / smoothing / time-invariance
                    pool_stride: [1, 1],             # if 1 -> no sub-sampling / dimension reduction
                    pool_type: 'max',
                    tied_b: True
                },

                !obj:deepbeat.pylearn2ext.HingeLoss.HingeLoss {
                    # max_col_norm: 1.9365,
                    layer_name: 'y',
                    n_classes: 24,
                    irange: 0.050000,
                    # istdev: .05,
                    # max_col_norm: 1.9365,
                 }
                
               ]
    },
    
    algorithm: !obj:pylearn2.training_algorithms.sgd.SGD {
        seed: 13,                                  # controls dataset traversal
        batch_size: 100,
        learning_rate: 0.0062016813327,

        monitoring_dataset:
            {
                'train' : *train,
                'valid'  : &valid !obj:deepbeat.eeg.EEGDataset.EEGDataset {
                                name : 'valid',
                                path : /Users/sstober/work/datasets/rwanda2013rhythms/eeg, 
                                suffix : _13goodchannels_plus4s,
                                subjects : [10],
                                resample : [400,400],
                                start_sample : 320,
                                stop_sample  : 1472, # None (empty) = end of sequence 
                                frame_size : 45,
                                hop_size : 45,           
                                label_mode : rhythm,
                                n_fft : 96,
                                n_freq_bins : 49,
                                include_phase : False,
                                spectrum_log_amplitude : True,
                                spectrum_normalization_mode : linear_0_1,
                            },
                'test'  : &test !obj:deepbeat.eeg.EEGDataset.EEGDataset {
                                name : 'test',
                                path : /Users/sstober/work/datasets/rwanda2013rhythms/eeg, 
                                suffix : _13goodchannels_plus4s,
                                subjects : [10],
                                resample : [400,400],
                                start_sample : 11648,
                                stop_sample  : 12800,    # None (empty) = end of sequence 
                                frame_size : 45,
                                hop_size : 45,           
                                label_mode : rhythm,
                                n_fft : 96,
                                n_freq_bins : 49,
                                include_phase : False,
                                spectrum_log_amplitude : True,
                                spectrum_normalization_mode : linear_0_1,
                            },
            },
        # cost: &cost !obj:pylearn2.models.mlp.Default {},
        
        cost: &cost
        #     # !obj:pylearn2.costs.cost.SumOfCosts { 
        #     #     costs: [
                    !obj:pylearn2.costs.mlp.dropout.Dropout {
                        input_include_probs: { 'h0' : .8 },
                            input_scales: { 'h0': 1. }
                    },
        #             # !obj:pylearn2.costs.mlp.L1WeightDecay {
        #             #     coeffs: [1e-05, 1e-05, 1e-05, 1e-05, 1e-05], #[ .000001, .000001, .000001, .000001 ]
        #             # },
        #             # !obj:pylearn2.costs.mlp.WeightDecay {
        #             #     coeffs: [1e-05, 1e-05, 1e-05, 1e-05, 1e-05], #[ .000005, .000005, .000005, .000005 ]
        #             # },
        #     #     ]
        #     # },

        termination_criterion: 
            # !obj:pylearn2.termination_criteria.And {
                # criteria: [
                    # !obj:pylearn2.termination_criteria.MonitorBased {
                    #     channel_name: "valid_y_misclass",
                    #     prop_decrease: 0.50,
                    #     N: 10
                    # },
                    !obj:pylearn2.termination_criteria.EpochCounter {
                        max_epochs: 50
                    },
                # ]
            # },

        learning_rule: 
            !obj:pylearn2.training_algorithms.learning_rule.Momentum {
                init_momentum: 0.500000,
            },
            # !obj:pylearn2.training_algorithms.learning_rule.AdaDelta {},

    },
    
    extensions:
        [
            # like pylearn2.training_algorithms.sgd.ExponentialDecay
            # but only applied once per epoch (i.e. independent of batch_size)
            # decay factor needs to be adjusted as x ** num_batches_per_epoch
            !obj:deepbeat.pylearn2ext.ExponentialDecay.ExponentialDecay {
                decay_factor: 1.038433, 
                min_lr: 0.000001, 
            },

            !obj:pylearn2.training_algorithms.learning_rule.MomentumAdjustor {
                start: 1,
                saturate: 50,
                final_momentum: 0.990000,
            },            
             
            !obj:deepbeat.pylearn2ext.util.LoggingCallback {
                name: '20537_h0_pattern_width_25_h0_patterns_22_h0_pool_size_1_h1_pattern_width_5_h1_patterns_23_h1_pool_size_2_learning_rate_0.0062016813327_lr_exponential_decay_factor_1.03843299296',
                obj_channels: ['train_objective', 'train_y_misclass', 'valid_y_misclass', 'test_y_misclass'],
            },

            # should be extension last (after all computations are done)
            !obj:pylearn2.train_extensions.best_params.MonitorBasedSaveBest {
                channel_name: 'valid_y_misclass',
                higher_is_better: False,
                save_path: "/imaging/sstober/spearmint.jobs/nips/h1_norestriction.all/11/cache/_h0_pattern_width_25_h0_patterns_22_h0_pool_size_1_h1_pattern_width_5_h1_patterns_23_h1_pool_size_2_learning_rate_0.0062016813327_lr_exponential_decay_factor_1.03843299296/mlp_best.pkl",
            },

            # !obj:deepbeat.pylearn2ext.util.SaveEveryEpoch {
            #     save_path: "/imaging/sstober/spearmint.jobs/nips/h1_norestriction.all/11/cache/_h0_pattern_width_25_h0_patterns_22_h0_pool_size_1_h1_pattern_width_5_h1_patterns_23_h1_pool_size_2_learning_rate_0.0062016813327_lr_exponential_decay_factor_1.03843299296/epochs/",
            #     save_prefix: "epoch",
            # },
    ],
    
    save_freq: 1,
    save_path: "/imaging/sstober/spearmint.jobs/nips/h1_norestriction.all/11/cache/_h0_pattern_width_25_h0_patterns_22_h0_pool_size_1_h1_pattern_width_5_h1_patterns_23_h1_pool_size_2_learning_rate_0.0062016813327_lr_exponential_decay_factor_1.03843299296/mlp.pkl",
    allow_overwrite: True,
}

Input shape: (45, 49)
Detector space: (21, 1)
Output space: (21, 1)
Input shape: (21, 1)
Detector space: (17, 1)
Output space: (16, 1)
INFO:deepthought.util.yaml_util:parsing yaml done. Time elapsed: 2.893278 seconds
INFO:deepthought.experiments.nips2014.scripts.generate_plots:loading train from /Users/sstober/work/develop/deepthought-output/nips2014/models/h1/11/best/train.yaml done. Time elapsed: 2.893876 seconds
INFO:deepthought.experiments.nips2014.scripts.generate_plots:loading model from /Users/sstober/work/develop/deepthought-output/nips2014/models/h1/12/best/mlp_best.pkl...
INFO:deepthought.experiments.nips2014.scripts.generate_plots:loading model from /Users/sstober/work/develop/deepthought-output/nips2014/models/h1/12/best/mlp_best.pkl done. Time elapsed: 0.131616 seconds
INFO:deepthought.datasets.rwanda2013rhythms.PathLocalizer:changing data path to: /Users/sstober/work/datasets/rwanda2013rhythms/eeg
INFO:deepthought.experiments.nips2014.scripts.generate_plots:loading train from /Users/sstober/work/develop/deepthought-output/nips2014/models/h1/12/best/train.yaml...
INFO:deepthought.util.yaml_util:parsing yaml...
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub001TN010613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub002DI010613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub003TN020613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub004DN040613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub005NE040613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub006PN040613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub007FB050613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub008MN050613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub009DK050613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub010DO060613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub011AM060613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub012RN060613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub013MI080613/dataset_13goodchannels_plus4s.pklz
INFO:deepthought.datasets.rwanda2013rhythms.EEGDataset:loading data from /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub012RN060613/dataset_13goodchannels_plus4s.pklz...
INFO:deepthought.datasets.rwanda2013rhythms.EEGDataset:loading data from /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub012RN060613/dataset_13goodchannels_plus4s.pklz done. Time elapsed: 0.666004 seconds
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:final dataset shape: (312, 45, 49, 1) (b,0,1,c)
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:generated dataset "test" with shape X=(312, 2205) y=(312, 24) labels=(312,) 
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub001TN010613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub002DI010613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub003TN020613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub004DN040613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub005NE040613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub006PN040613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub007FB050613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub008MN050613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub009DK050613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub010DO060613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub011AM060613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub012RN060613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub013MI080613/dataset_13goodchannels_plus4s.pklz
INFO:deepthought.datasets.rwanda2013rhythms.EEGDataset:loading data from /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub012RN060613/dataset_13goodchannels_plus4s.pklz...
INFO:deepthought.datasets.rwanda2013rhythms.EEGDataset:loading data from /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub012RN060613/dataset_13goodchannels_plus4s.pklz done. Time elapsed: 0.979685 seconds
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:final dataset shape: (2808, 45, 49, 1) (b,0,1,c)
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:generated dataset "train" with shape X=(2808, 2205) y=(2808, 24) labels=(2808,) 
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub001TN010613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub002DI010613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub003TN020613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub004DN040613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub005NE040613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub006PN040613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub007FB050613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub008MN050613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub009DK050613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub010DO060613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub011AM060613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub012RN060613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub013MI080613/dataset_13goodchannels_plus4s.pklz
INFO:deepthought.datasets.rwanda2013rhythms.EEGDataset:loading data from /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub012RN060613/dataset_13goodchannels_plus4s.pklz...
INFO:deepthought.datasets.rwanda2013rhythms.EEGDataset:loading data from /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub012RN060613/dataset_13goodchannels_plus4s.pklz done. Time elapsed: 0.690560 seconds
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:final dataset shape: (312, 45, 49, 1) (b,0,1,c)
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:generated dataset "valid" with shape X=(312, 2205) y=(312, 24) labels=(312,) 
None
!obj:pylearn2.train.Train {
    dataset: &train !obj:deepbeat.eeg.EEGDataset.EEGDataset {
        name : 'train',
        path : /Users/sstober/work/datasets/rwanda2013rhythms/eeg,
        suffix : _13goodchannels_plus4s,
        subjects : [11],
        resample : [400,400],
        # start_sample : 1152,
        start_sample : 1472,
        stop_sample  : 11648,                   # None (empty) = end of sequence 
        frame_size : 45,
        hop_size : 45,
        label_mode : rhythm,
        n_fft : 96,                      # None (empty) = raw signal
        n_freq_bins : 49,
        include_phase : False,
        spectrum_log_amplitude : True,
        spectrum_normalization_mode : linear_0_1,
    },
    
    model: &model !obj:pylearn2.models.mlp.MLP {
        seed : 13,                                        # controls initialization
        batch_size: 100,
        input_space: !obj:pylearn2.space.Conv2DSpace {
                        shape: [45, 49],                  # just 1d
                        num_channels: 1,
                    },
        layers: [
                !obj:pylearn2.models.mlp.ConvRectifiedLinear {
                    layer_name: 'h0',
                    output_channels: 30,            # number of feature maps
                    irange: 0.050000,
                    # init_bias: ,                    
                    # max_kernel_norm: 1.9365,
                    kernel_shape: [5, 49],         
                    pool_shape: [5, 1],                # if 1 -> no aggregation / smoothing / time-invariance
                    pool_stride: [1, 1],             # if 1 -> no sub-sampling / dimension reduction
                    pool_type: 'max',
                    tied_b: True
                },

                !obj:pylearn2.models.mlp.ConvRectifiedLinear {
                    layer_name: 'h1',
                    output_channels: 30,            # number of feature maps
                    irange: 0.050000,
                    # init_bias: ,
                    # max_kernel_norm: 1.9365,
                    kernel_shape: [5, 1],
                    pool_shape: [10, 1],                # if 1 -> no aggregation / smoothing / time-invariance
                    pool_stride: [1, 1],             # if 1 -> no sub-sampling / dimension reduction
                    pool_type: 'max',
                    tied_b: True
                },

                !obj:deepbeat.pylearn2ext.HingeLoss.HingeLoss {
                    # max_col_norm: 1.9365,
                    layer_name: 'y',
                    n_classes: 24,
                    irange: 0.050000,
                    # istdev: .05,
                    # max_col_norm: 1.9365,
                 }
                
               ]
    },
    
    algorithm: !obj:pylearn2.training_algorithms.sgd.SGD {
        seed: 13,                                  # controls dataset traversal
        batch_size: 100,
        learning_rate: 0.01,

        monitoring_dataset:
            {
                'train' : *train,
                'valid'  : &valid !obj:deepbeat.eeg.EEGDataset.EEGDataset {
                                name : 'valid',
                                path : /Users/sstober/work/datasets/rwanda2013rhythms/eeg, 
                                suffix : _13goodchannels_plus4s,
                                subjects : [11],
                                resample : [400,400],
                                start_sample : 320,
                                stop_sample  : 1472, # None (empty) = end of sequence 
                                frame_size : 45,
                                hop_size : 45,           
                                label_mode : rhythm,
                                n_fft : 96,
                                n_freq_bins : 49,
                                include_phase : False,
                                spectrum_log_amplitude : True,
                                spectrum_normalization_mode : linear_0_1,
                            },
                'test'  : &test !obj:deepbeat.eeg.EEGDataset.EEGDataset {
                                name : 'test',
                                path : /Users/sstober/work/datasets/rwanda2013rhythms/eeg, 
                                suffix : _13goodchannels_plus4s,
                                subjects : [11],
                                resample : [400,400],
                                start_sample : 11648,
                                stop_sample  : 12800,    # None (empty) = end of sequence 
                                frame_size : 45,
                                hop_size : 45,           
                                label_mode : rhythm,
                                n_fft : 96,
                                n_freq_bins : 49,
                                include_phase : False,
                                spectrum_log_amplitude : True,
                                spectrum_normalization_mode : linear_0_1,
                            },
            },
        # cost: &cost !obj:pylearn2.models.mlp.Default {},
        
        cost: &cost
        #     # !obj:pylearn2.costs.cost.SumOfCosts { 
        #     #     costs: [
                    !obj:pylearn2.costs.mlp.dropout.Dropout {
                        input_include_probs: { 'h0' : .8 },
                            input_scales: { 'h0': 1. }
                    },
        #             # !obj:pylearn2.costs.mlp.L1WeightDecay {
        #             #     coeffs: [1e-05, 1e-05, 1e-05, 1e-05, 1e-05], #[ .000001, .000001, .000001, .000001 ]
        #             # },
        #             # !obj:pylearn2.costs.mlp.WeightDecay {
        #             #     coeffs: [1e-05, 1e-05, 1e-05, 1e-05, 1e-05], #[ .000005, .000005, .000005, .000005 ]
        #             # },
        #     #     ]
        #     # },

        termination_criterion: 
            # !obj:pylearn2.termination_criteria.And {
                # criteria: [
                    # !obj:pylearn2.termination_criteria.MonitorBased {
                    #     channel_name: "valid_y_misclass",
                    #     prop_decrease: 0.50,
                    #     N: 10
                    # },
                    !obj:pylearn2.termination_criteria.EpochCounter {
                        max_epochs: 50
                    },
                # ]
            # },

        learning_rule: 
            !obj:pylearn2.training_algorithms.learning_rule.Momentum {
                init_momentum: 0.500000,
            },
            # !obj:pylearn2.training_algorithms.learning_rule.AdaDelta {},

    },
    
    extensions:
        [
            # like pylearn2.training_algorithms.sgd.ExponentialDecay
            # but only applied once per epoch (i.e. independent of batch_size)
            # decay factor needs to be adjusted as x ** num_batches_per_epoch
            !obj:deepbeat.pylearn2ext.ExponentialDecay.ExponentialDecay {
                decay_factor: 1.036512, 
                min_lr: 0.000001, 
            },

            !obj:pylearn2.training_algorithms.learning_rule.MomentumAdjustor {
                start: 1,
                saturate: 50,
                final_momentum: 0.990000,
            },            
             
            !obj:deepbeat.pylearn2ext.util.LoggingCallback {
                name: '20035_h0_pattern_width_5_h0_patterns_30_h0_pool_size_5_h1_pattern_width_5_h1_patterns_30_h1_pool_size_10_learning_rate_0.01_lr_exponential_decay_factor_1.03651247056',
                obj_channels: ['train_objective', 'train_y_misclass', 'valid_y_misclass', 'test_y_misclass'],
            },

            # should be extension last (after all computations are done)
            !obj:pylearn2.train_extensions.best_params.MonitorBasedSaveBest {
                channel_name: 'valid_y_misclass',
                higher_is_better: False,
                save_path: "/imaging/sstober/spearmint.jobs/nips/h1_norestriction.all/12/cache/_h0_pattern_width_5_h0_patterns_30_h0_pool_size_5_h1_pattern_width_5_h1_patterns_30_h1_pool_size_10_learning_rate_0.01_lr_exponential_decay_factor_1.03651247056/mlp_best.pkl",
            },

            # !obj:deepbeat.pylearn2ext.util.SaveEveryEpoch {
            #     save_path: "/imaging/sstober/spearmint.jobs/nips/h1_norestriction.all/12/cache/_h0_pattern_width_5_h0_patterns_30_h0_pool_size_5_h1_pattern_width_5_h1_patterns_30_h1_pool_size_10_learning_rate_0.01_lr_exponential_decay_factor_1.03651247056/epochs/",
            #     save_prefix: "epoch",
            # },
    ],
    
    save_freq: 1,
    save_path: "/imaging/sstober/spearmint.jobs/nips/h1_norestriction.all/12/cache/_h0_pattern_width_5_h0_patterns_30_h0_pool_size_5_h1_pattern_width_5_h1_patterns_30_h1_pool_size_10_learning_rate_0.01_lr_exponential_decay_factor_1.03651247056/mlp.pkl",
    allow_overwrite: True,
}

Input shape: (45, 49)
Detector space: (41, 1)
Output space: (37, 1)
Input shape: (37, 1)
Detector space: (33, 1)
Output space: (24, 1)
INFO:deepthought.util.yaml_util:parsing yaml done. Time elapsed: 3.292047 seconds
INFO:deepthought.experiments.nips2014.scripts.generate_plots:loading train from /Users/sstober/work/develop/deepthought-output/nips2014/models/h1/12/best/train.yaml done. Time elapsed: 3.292712 seconds
INFO:deepthought.experiments.nips2014.scripts.generate_plots:loading model from /Users/sstober/work/develop/deepthought-output/nips2014/models/h1/13/best/mlp_best.pkl...
INFO:deepthought.experiments.nips2014.scripts.generate_plots:loading model from /Users/sstober/work/develop/deepthought-output/nips2014/models/h1/13/best/mlp_best.pkl done. Time elapsed: 0.178055 seconds
INFO:deepthought.datasets.rwanda2013rhythms.PathLocalizer:changing data path to: /Users/sstober/work/datasets/rwanda2013rhythms/eeg
INFO:deepthought.experiments.nips2014.scripts.generate_plots:loading train from /Users/sstober/work/develop/deepthought-output/nips2014/models/h1/13/best/train.yaml...
INFO:deepthought.util.yaml_util:parsing yaml...
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub001TN010613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub002DI010613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub003TN020613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub004DN040613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub005NE040613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub006PN040613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub007FB050613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub008MN050613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub009DK050613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub010DO060613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub011AM060613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub012RN060613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub013MI080613/dataset_13goodchannels_plus4s.pklz
INFO:deepthought.datasets.rwanda2013rhythms.EEGDataset:loading data from /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub013MI080613/dataset_13goodchannels_plus4s.pklz...
INFO:deepthought.datasets.rwanda2013rhythms.EEGDataset:loading data from /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub013MI080613/dataset_13goodchannels_plus4s.pklz done. Time elapsed: 0.681441 seconds
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:final dataset shape: (312, 45, 49, 1) (b,0,1,c)
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:generated dataset "test" with shape X=(312, 2205) y=(312, 24) labels=(312,) 
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub001TN010613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub002DI010613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub003TN020613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub004DN040613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub005NE040613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub006PN040613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub007FB050613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub008MN050613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub009DK050613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub010DO060613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub011AM060613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub012RN060613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub013MI080613/dataset_13goodchannels_plus4s.pklz
INFO:deepthought.datasets.rwanda2013rhythms.EEGDataset:loading data from /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub013MI080613/dataset_13goodchannels_plus4s.pklz...
INFO:deepthought.datasets.rwanda2013rhythms.EEGDataset:loading data from /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub013MI080613/dataset_13goodchannels_plus4s.pklz done. Time elapsed: 0.958580 seconds
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:final dataset shape: (2808, 45, 49, 1) (b,0,1,c)
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:generated dataset "train" with shape X=(2808, 2205) y=(2808, 24) labels=(2808,) 
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub001TN010613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub002DI010613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub003TN020613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub004DN040613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub005NE040613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub006PN040613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub007FB050613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub008MN050613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub009DK050613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub010DO060613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub011AM060613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub012RN060613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub013MI080613/dataset_13goodchannels_plus4s.pklz
INFO:deepthought.datasets.rwanda2013rhythms.EEGDataset:loading data from /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub013MI080613/dataset_13goodchannels_plus4s.pklz...
INFO:deepthought.datasets.rwanda2013rhythms.EEGDataset:loading data from /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub013MI080613/dataset_13goodchannels_plus4s.pklz done. Time elapsed: 0.686859 seconds
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:final dataset shape: (312, 45, 49, 1) (b,0,1,c)
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:generated dataset "valid" with shape X=(312, 2205) y=(312, 24) labels=(312,) 
None
!obj:pylearn2.train.Train {
    dataset: &train !obj:deepbeat.eeg.EEGDataset.EEGDataset {
        name : 'train',
        path : /Users/sstober/work/datasets/rwanda2013rhythms/eeg,
        suffix : _13goodchannels_plus4s,
        subjects : [12],
        resample : [400,400],
        # start_sample : 1152,
        start_sample : 1472,
        stop_sample  : 11648,                   # None (empty) = end of sequence 
        frame_size : 45,
        hop_size : 45,
        label_mode : rhythm,
        n_fft : 96,                      # None (empty) = raw signal
        n_freq_bins : 49,
        include_phase : False,
        spectrum_log_amplitude : True,
        spectrum_normalization_mode : linear_0_1,
    },
    
    model: &model !obj:pylearn2.models.mlp.MLP {
        seed : 13,                                        # controls initialization
        batch_size: 100,
        input_space: !obj:pylearn2.space.Conv2DSpace {
                        shape: [45, 49],                  # just 1d
                        num_channels: 1,
                    },
        layers: [
                !obj:pylearn2.models.mlp.ConvRectifiedLinear {
                    layer_name: 'h0',
                    output_channels: 21,            # number of feature maps
                    irange: 0.050000,
                    # init_bias: ,                    
                    # max_kernel_norm: 1.9365,
                    kernel_shape: [18, 49],         
                    pool_shape: [10, 1],                # if 1 -> no aggregation / smoothing / time-invariance
                    pool_stride: [1, 1],             # if 1 -> no sub-sampling / dimension reduction
                    pool_type: 'max',
                    tied_b: True
                },

                !obj:pylearn2.models.mlp.ConvRectifiedLinear {
                    layer_name: 'h1',
                    output_channels: 30,            # number of feature maps
                    irange: 0.050000,
                    # init_bias: ,
                    # max_kernel_norm: 1.9365,
                    kernel_shape: [1, 1],
                    pool_shape: [6, 1],                # if 1 -> no aggregation / smoothing / time-invariance
                    pool_stride: [1, 1],             # if 1 -> no sub-sampling / dimension reduction
                    pool_type: 'max',
                    tied_b: True
                },

                !obj:deepbeat.pylearn2ext.HingeLoss.HingeLoss {
                    # max_col_norm: 1.9365,
                    layer_name: 'y',
                    n_classes: 24,
                    irange: 0.050000,
                    # istdev: .05,
                    # max_col_norm: 1.9365,
                 }
                
               ]
    },
    
    algorithm: !obj:pylearn2.training_algorithms.sgd.SGD {
        seed: 13,                                  # controls dataset traversal
        batch_size: 100,
        learning_rate: 0.00858312691296,

        monitoring_dataset:
            {
                'train' : *train,
                'valid'  : &valid !obj:deepbeat.eeg.EEGDataset.EEGDataset {
                                name : 'valid',
                                path : /Users/sstober/work/datasets/rwanda2013rhythms/eeg, 
                                suffix : _13goodchannels_plus4s,
                                subjects : [12],
                                resample : [400,400],
                                start_sample : 320,
                                stop_sample  : 1472, # None (empty) = end of sequence 
                                frame_size : 45,
                                hop_size : 45,           
                                label_mode : rhythm,
                                n_fft : 96,
                                n_freq_bins : 49,
                                include_phase : False,
                                spectrum_log_amplitude : True,
                                spectrum_normalization_mode : linear_0_1,
                            },
                'test'  : &test !obj:deepbeat.eeg.EEGDataset.EEGDataset {
                                name : 'test',
                                path : /Users/sstober/work/datasets/rwanda2013rhythms/eeg, 
                                suffix : _13goodchannels_plus4s,
                                subjects : [12],
                                resample : [400,400],
                                start_sample : 11648,
                                stop_sample  : 12800,    # None (empty) = end of sequence 
                                frame_size : 45,
                                hop_size : 45,           
                                label_mode : rhythm,
                                n_fft : 96,
                                n_freq_bins : 49,
                                include_phase : False,
                                spectrum_log_amplitude : True,
                                spectrum_normalization_mode : linear_0_1,
                            },
            },
        # cost: &cost !obj:pylearn2.models.mlp.Default {},
        
        cost: &cost
        #     # !obj:pylearn2.costs.cost.SumOfCosts { 
        #     #     costs: [
                    !obj:pylearn2.costs.mlp.dropout.Dropout {
                        input_include_probs: { 'h0' : .8 },
                            input_scales: { 'h0': 1. }
                    },
        #             # !obj:pylearn2.costs.mlp.L1WeightDecay {
        #             #     coeffs: [1e-05, 1e-05, 1e-05, 1e-05, 1e-05], #[ .000001, .000001, .000001, .000001 ]
        #             # },
        #             # !obj:pylearn2.costs.mlp.WeightDecay {
        #             #     coeffs: [1e-05, 1e-05, 1e-05, 1e-05, 1e-05], #[ .000005, .000005, .000005, .000005 ]
        #             # },
        #     #     ]
        #     # },

        termination_criterion: 
            # !obj:pylearn2.termination_criteria.And {
                # criteria: [
                    # !obj:pylearn2.termination_criteria.MonitorBased {
                    #     channel_name: "valid_y_misclass",
                    #     prop_decrease: 0.50,
                    #     N: 10
                    # },
                    !obj:pylearn2.termination_criteria.EpochCounter {
                        max_epochs: 50
                    },
                # ]
            # },

        learning_rule: 
            !obj:pylearn2.training_algorithms.learning_rule.Momentum {
                init_momentum: 0.500000,
            },
            # !obj:pylearn2.training_algorithms.learning_rule.AdaDelta {},

    },
    
    extensions:
        [
            # like pylearn2.training_algorithms.sgd.ExponentialDecay
            # but only applied once per epoch (i.e. independent of batch_size)
            # decay factor needs to be adjusted as x ** num_batches_per_epoch
            !obj:deepbeat.pylearn2ext.ExponentialDecay.ExponentialDecay {
                decay_factor: 1.035584, 
                min_lr: 0.000001, 
            },

            !obj:pylearn2.training_algorithms.learning_rule.MomentumAdjustor {
                start: 1,
                saturate: 50,
                final_momentum: 0.990000,
            },            
             
            !obj:deepbeat.pylearn2ext.util.LoggingCallback {
                name: '20424_h0_pattern_width_18_h0_patterns_21_h0_pool_size_10_h1_pattern_width_1_h1_patterns_30_h1_pool_size_6_learning_rate_0.00858312691296_lr_exponential_decay_factor_1.03558390708',
                obj_channels: ['train_objective', 'train_y_misclass', 'valid_y_misclass', 'test_y_misclass'],
            },

            # should be extension last (after all computations are done)
            !obj:pylearn2.train_extensions.best_params.MonitorBasedSaveBest {
                channel_name: 'valid_y_misclass',
                higher_is_better: False,
                save_path: "/imaging/sstober/spearmint.jobs/nips/h1_norestriction.all/13/cache/_h0_pattern_width_18_h0_patterns_21_h0_pool_size_10_h1_pattern_width_1_h1_patterns_30_h1_pool_size_6_learning_rate_0.00858312691296_lr_exponential_decay_factor_1.03558390708/mlp_best.pkl",
            },

            # !obj:deepbeat.pylearn2ext.util.SaveEveryEpoch {
            #     save_path: "/imaging/sstober/spearmint.jobs/nips/h1_norestriction.all/13/cache/_h0_pattern_width_18_h0_patterns_21_h0_pool_size_10_h1_pattern_width_1_h1_patterns_30_h1_pool_size_6_learning_rate_0.00858312691296_lr_exponential_decay_factor_1.03558390708/epochs/",
            #     save_prefix: "epoch",
            # },
    ],
    
    save_freq: 1,
    save_path: "/imaging/sstober/spearmint.jobs/nips/h1_norestriction.all/13/cache/_h0_pattern_width_18_h0_patterns_21_h0_pool_size_10_h1_pattern_width_1_h1_patterns_30_h1_pool_size_6_learning_rate_0.00858312691296_lr_exponential_decay_factor_1.03558390708/mlp.pkl",
    allow_overwrite: True,
}

Input shape: (45, 49)
Detector space: (28, 1)
Output space: (19, 1)
Input shape: (19, 1)
Detector space: (19, 1)
Output space: (14, 1)
INFO:deepthought.util.yaml_util:parsing yaml done. Time elapsed: 3.444354 seconds
INFO:deepthought.experiments.nips2014.scripts.generate_plots:loading train from /Users/sstober/work/develop/deepthought-output/nips2014/models/h1/13/best/train.yaml done. Time elapsed: 3.445072 seconds
INFO:deepthought.experiments.nips2014.scripts.generate_plots:loading model from /Users/sstober/work/develop/deepthought-output/nips2014/models/h1/fast/best/mlp_best.pkl...
INFO:deepthought.experiments.nips2014.scripts.generate_plots:loading model from /Users/sstober/work/develop/deepthought-output/nips2014/models/h1/fast/best/mlp_best.pkl done. Time elapsed: 0.188936 seconds
INFO:deepthought.datasets.rwanda2013rhythms.PathLocalizer:changing data path to: /Users/sstober/work/datasets/rwanda2013rhythms/eeg
INFO:deepthought.experiments.nips2014.scripts.generate_plots:loading train from /Users/sstober/work/develop/deepthought-output/nips2014/models/h1/fast/best/train.yaml...
INFO:deepthought.util.yaml_util:parsing yaml...
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub001TN010613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub002DI010613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub003TN020613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub004DN040613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub005NE040613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub006PN040613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub007FB050613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub008MN050613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub009DK050613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub010DO060613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub011AM060613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub012RN060613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub013MI080613/dataset_13goodchannels_plus4s.pklz
INFO:deepthought.datasets.rwanda2013rhythms.EEGDataset:loading data from /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub001TN010613/dataset_13goodchannels_plus4s.pklz...
INFO:deepthought.datasets.rwanda2013rhythms.EEGDataset:loading data from /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub001TN010613/dataset_13goodchannels_plus4s.pklz done. Time elapsed: 0.622114 seconds
INFO:deepthought.datasets.rwanda2013rhythms.EEGDataset:loading data from /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub002DI010613/dataset_13goodchannels_plus4s.pklz...
INFO:deepthought.datasets.rwanda2013rhythms.EEGDataset:loading data from /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub002DI010613/dataset_13goodchannels_plus4s.pklz done. Time elapsed: 0.702889 seconds
INFO:deepthought.datasets.rwanda2013rhythms.EEGDataset:loading data from /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub003TN020613/dataset_13goodchannels_plus4s.pklz...
INFO:deepthought.datasets.rwanda2013rhythms.EEGDataset:loading data from /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub003TN020613/dataset_13goodchannels_plus4s.pklz done. Time elapsed: 0.630812 seconds
INFO:deepthought.datasets.rwanda2013rhythms.EEGDataset:loading data from /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub007FB050613/dataset_13goodchannels_plus4s.pklz...
INFO:deepthought.datasets.rwanda2013rhythms.EEGDataset:loading data from /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub007FB050613/dataset_13goodchannels_plus4s.pklz done. Time elapsed: 0.716262 seconds
INFO:deepthought.datasets.rwanda2013rhythms.EEGDataset:loading data from /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub008MN050613/dataset_13goodchannels_plus4s.pklz...
INFO:deepthought.datasets.rwanda2013rhythms.EEGDataset:loading data from /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub008MN050613/dataset_13goodchannels_plus4s.pklz done. Time elapsed: 0.765440 seconds
INFO:deepthought.datasets.rwanda2013rhythms.EEGDataset:loading data from /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub009DK050613/dataset_13goodchannels_plus4s.pklz...
INFO:deepthought.datasets.rwanda2013rhythms.EEGDataset:loading data from /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub009DK050613/dataset_13goodchannels_plus4s.pklz done. Time elapsed: 0.761525 seconds
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:final dataset shape: (1800, 33, 49, 1) (b,0,1,c)
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:generated dataset "test" with shape X=(1800, 1617) y=(1800, 24) labels=(1800,) 
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub001TN010613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub002DI010613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub003TN020613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub004DN040613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub005NE040613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub006PN040613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub007FB050613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub008MN050613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub009DK050613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub010DO060613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub011AM060613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub012RN060613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub013MI080613/dataset_13goodchannels_plus4s.pklz
INFO:deepthought.datasets.rwanda2013rhythms.EEGDataset:loading data from /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub001TN010613/dataset_13goodchannels_plus4s.pklz...
INFO:deepthought.datasets.rwanda2013rhythms.EEGDataset:loading data from /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub001TN010613/dataset_13goodchannels_plus4s.pklz done. Time elapsed: 0.866101 seconds
INFO:deepthought.datasets.rwanda2013rhythms.EEGDataset:loading data from /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub002DI010613/dataset_13goodchannels_plus4s.pklz...
INFO:deepthought.datasets.rwanda2013rhythms.EEGDataset:loading data from /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub002DI010613/dataset_13goodchannels_plus4s.pklz done. Time elapsed: 0.930837 seconds
INFO:deepthought.datasets.rwanda2013rhythms.EEGDataset:loading data from /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub003TN020613/dataset_13goodchannels_plus4s.pklz...
INFO:deepthought.datasets.rwanda2013rhythms.EEGDataset:loading data from /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub003TN020613/dataset_13goodchannels_plus4s.pklz done. Time elapsed: 0.872400 seconds
INFO:deepthought.datasets.rwanda2013rhythms.EEGDataset:loading data from /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub007FB050613/dataset_13goodchannels_plus4s.pklz...
INFO:deepthought.datasets.rwanda2013rhythms.EEGDataset:loading data from /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub007FB050613/dataset_13goodchannels_plus4s.pklz done. Time elapsed: 0.954302 seconds
INFO:deepthought.datasets.rwanda2013rhythms.EEGDataset:loading data from /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub008MN050613/dataset_13goodchannels_plus4s.pklz...
INFO:deepthought.datasets.rwanda2013rhythms.EEGDataset:loading data from /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub008MN050613/dataset_13goodchannels_plus4s.pklz done. Time elapsed: 0.995386 seconds
INFO:deepthought.datasets.rwanda2013rhythms.EEGDataset:loading data from /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub009DK050613/dataset_13goodchannels_plus4s.pklz...
INFO:deepthought.datasets.rwanda2013rhythms.EEGDataset:loading data from /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub009DK050613/dataset_13goodchannels_plus4s.pklz done. Time elapsed: 1.019254 seconds
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:final dataset shape: (23400, 33, 49, 1) (b,0,1,c)
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:generated dataset "train" with shape X=(23400, 1617) y=(23400, 24) labels=(23400,) 
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub001TN010613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub002DI010613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub003TN020613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub004DN040613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub005NE040613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub006PN040613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub007FB050613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub008MN050613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub009DK050613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub010DO060613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub011AM060613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub012RN060613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub013MI080613/dataset_13goodchannels_plus4s.pklz
INFO:deepthought.datasets.rwanda2013rhythms.EEGDataset:loading data from /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub001TN010613/dataset_13goodchannels_plus4s.pklz...
INFO:deepthought.datasets.rwanda2013rhythms.EEGDataset:loading data from /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub001TN010613/dataset_13goodchannels_plus4s.pklz done. Time elapsed: 0.595553 seconds
INFO:deepthought.datasets.rwanda2013rhythms.EEGDataset:loading data from /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub002DI010613/dataset_13goodchannels_plus4s.pklz...
INFO:deepthought.datasets.rwanda2013rhythms.EEGDataset:loading data from /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub002DI010613/dataset_13goodchannels_plus4s.pklz done. Time elapsed: 0.704304 seconds
INFO:deepthought.datasets.rwanda2013rhythms.EEGDataset:loading data from /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub003TN020613/dataset_13goodchannels_plus4s.pklz...
INFO:deepthought.datasets.rwanda2013rhythms.EEGDataset:loading data from /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub003TN020613/dataset_13goodchannels_plus4s.pklz done. Time elapsed: 0.608065 seconds
INFO:deepthought.datasets.rwanda2013rhythms.EEGDataset:loading data from /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub007FB050613/dataset_13goodchannels_plus4s.pklz...
INFO:deepthought.datasets.rwanda2013rhythms.EEGDataset:loading data from /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub007FB050613/dataset_13goodchannels_plus4s.pklz done. Time elapsed: 0.663075 seconds
INFO:deepthought.datasets.rwanda2013rhythms.EEGDataset:loading data from /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub008MN050613/dataset_13goodchannels_plus4s.pklz...
INFO:deepthought.datasets.rwanda2013rhythms.EEGDataset:loading data from /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub008MN050613/dataset_13goodchannels_plus4s.pklz done. Time elapsed: 0.706216 seconds
INFO:deepthought.datasets.rwanda2013rhythms.EEGDataset:loading data from /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub009DK050613/dataset_13goodchannels_plus4s.pklz...
INFO:deepthought.datasets.rwanda2013rhythms.EEGDataset:loading data from /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub009DK050613/dataset_13goodchannels_plus4s.pklz done. Time elapsed: 0.757771 seconds
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:final dataset shape: (1800, 33, 49, 1) (b,0,1,c)
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:generated dataset "valid" with shape X=(1800, 1617) y=(1800, 24) labels=(1800,) 
None
!obj:pylearn2.train.Train {
    dataset: &train !obj:deepbeat.eeg.EEGDataset.EEGDataset {
        name : 'train',
        path : /Users/sstober/work/datasets/rwanda2013rhythms/eeg,
        suffix : _13goodchannels_plus4s,
        subjects : [0, 1, 2, 6, 7, 8],
        resample : [400,400],
        # start_sample : 864,
        start_sample : 1184,
        stop_sample  : 11936,                   # None (empty) = end of sequence 
        frame_size : 33,
        hop_size : 33,
        label_mode : rhythm,
        n_fft : 96,                      # None (empty) = raw signal
        n_freq_bins : 49,
        include_phase : False,
        spectrum_log_amplitude : True,
        spectrum_normalization_mode : linear_0_1,
    },
    
    model: &model !obj:pylearn2.models.mlp.MLP {
        seed : 13,                                        # controls initialization
        batch_size: 100,
        input_space: !obj:pylearn2.space.Conv2DSpace {
                        shape: [33, 49],                  # just 1d
                        num_channels: 1,
                    },
        layers: [
                !obj:pylearn2.models.mlp.ConvRectifiedLinear {
                    layer_name: 'h0',
                    output_channels: 30,            # number of feature maps
                    irange: 0.050000,
                    # init_bias: ,                    
                    # max_kernel_norm: 1.9365,
                    kernel_shape: [1, 49],         
                    pool_shape: [1, 1],                # if 1 -> no aggregation / smoothing / time-invariance
                    pool_stride: [1, 1],             # if 1 -> no sub-sampling / dimension reduction
                    pool_type: 'max',
                    tied_b: True
                },

                !obj:pylearn2.models.mlp.ConvRectifiedLinear {
                    layer_name: 'h1',
                    output_channels: 30,            # number of feature maps
                    irange: 0.050000,
                    # init_bias: ,
                    # max_kernel_norm: 1.9365,
                    kernel_shape: [17, 1],
                    pool_shape: [1, 1],                # if 1 -> no aggregation / smoothing / time-invariance
                    pool_stride: [1, 1],             # if 1 -> no sub-sampling / dimension reduction
                    pool_type: 'max',
                    tied_b: True
                },

                !obj:deepbeat.pylearn2ext.HingeLoss.HingeLoss {
                    # max_col_norm: 1.9365,
                    layer_name: 'y',
                    n_classes: 24,
                    irange: 0.050000,
                    # istdev: .05,
                    # max_col_norm: 1.9365,
                 }
                
               ]
    },
    
    algorithm: !obj:pylearn2.training_algorithms.sgd.SGD {
        seed: 13,                                  # controls dataset traversal
        batch_size: 100,
        learning_rate: 0.01,

        monitoring_dataset:
            {
                'train' : *train,
                'valid'  : &valid !obj:deepbeat.eeg.EEGDataset.EEGDataset {
                                name : 'valid',
                                path : /Users/sstober/work/datasets/rwanda2013rhythms/eeg, 
                                suffix : _13goodchannels_plus4s,
                                subjects : [0, 1, 2, 6, 7, 8],
                                resample : [400,400],
                                start_sample : 320,
                                stop_sample  : 1184, # None (empty) = end of sequence 
                                frame_size : 33,
                                hop_size : 33,           
                                label_mode : rhythm,
                                n_fft : 96,
                                n_freq_bins : 49,
                                include_phase : False,
                                spectrum_log_amplitude : True,
                                spectrum_normalization_mode : linear_0_1,
                            },
                'test'  : &test !obj:deepbeat.eeg.EEGDataset.EEGDataset {
                                name : 'test',
                                path : /Users/sstober/work/datasets/rwanda2013rhythms/eeg, 
                                suffix : _13goodchannels_plus4s,
                                subjects : [0, 1, 2, 6, 7, 8],
                                resample : [400,400],
                                start_sample : 11936,
                                stop_sample  : 12800,    # None (empty) = end of sequence 
                                frame_size : 33,
                                hop_size : 33,           
                                label_mode : rhythm,
                                n_fft : 96,
                                n_freq_bins : 49,
                                include_phase : False,
                                spectrum_log_amplitude : True,
                                spectrum_normalization_mode : linear_0_1,
                            },
            },
        # cost: &cost !obj:pylearn2.models.mlp.Default {},
        
        cost: &cost
        #     # !obj:pylearn2.costs.cost.SumOfCosts { 
        #     #     costs: [
                    !obj:pylearn2.costs.mlp.dropout.Dropout {
                        input_include_probs: { 'h0' : .8 },
                            input_scales: { 'h0': 1. }
                    },
        #             # !obj:pylearn2.costs.mlp.L1WeightDecay {
        #             #     coeffs: [1e-05, 1e-05, 1e-05, 1e-05, 1e-05], #[ .000001, .000001, .000001, .000001 ]
        #             # },
        #             # !obj:pylearn2.costs.mlp.WeightDecay {
        #             #     coeffs: [1e-05, 1e-05, 1e-05, 1e-05, 1e-05], #[ .000005, .000005, .000005, .000005 ]
        #             # },
        #     #     ]
        #     # },

        termination_criterion: 
            # !obj:pylearn2.termination_criteria.And {
                # criteria: [
                    # !obj:pylearn2.termination_criteria.MonitorBased {
                    #     channel_name: "valid_y_misclass",
                    #     prop_decrease: 0.50,
                    #     N: 10
                    # },
                    !obj:pylearn2.termination_criteria.EpochCounter {
                        max_epochs: 50
                    },
                # ]
            # },

        learning_rule: 
            !obj:pylearn2.training_algorithms.learning_rule.Momentum {
                init_momentum: 0.500000,
            },
            # !obj:pylearn2.training_algorithms.learning_rule.AdaDelta {},

    },
    
    extensions:
        [
            # like pylearn2.training_algorithms.sgd.ExponentialDecay
            # but only applied once per epoch (i.e. independent of batch_size)
            # decay factor needs to be adjusted as x ** num_batches_per_epoch
            !obj:deepbeat.pylearn2ext.ExponentialDecay.ExponentialDecay {
                decay_factor: 1.045490, 
                min_lr: 0.000001, 
            },

            !obj:pylearn2.training_algorithms.learning_rule.MomentumAdjustor {
                start: 1,
                saturate: 50,
                final_momentum: 0.990000,
            },            
             
            !obj:deepbeat.pylearn2ext.util.LoggingCallback {
                name: '20167_h0_pattern_width_1_h0_patterns_30_h0_pool_size_1_h1_pattern_width_17_h1_patterns_30_h1_pool_size_1_learning_rate_0.01_lr_exponential_decay_factor_1.04548992888',
                obj_channels: ['train_objective', 'train_y_misclass', 'valid_y_misclass', 'test_y_misclass'],
            },

            # should be extension last (after all computations are done)
            !obj:pylearn2.train_extensions.best_params.MonitorBasedSaveBest {
                channel_name: 'valid_y_misclass',
                higher_is_better: False,
                save_path: "/imaging/sstober/spearmint.jobs/nips/h1_norestriction.all/fast/cache/_h0_pattern_width_1_h0_patterns_30_h0_pool_size_1_h1_pattern_width_17_h1_patterns_30_h1_pool_size_1_learning_rate_0.01_lr_exponential_decay_factor_1.04548992888/mlp_best.pkl",
            },

            # !obj:deepbeat.pylearn2ext.util.SaveEveryEpoch {
            #     save_path: "/imaging/sstober/spearmint.jobs/nips/h1_norestriction.all/fast/cache/_h0_pattern_width_1_h0_patterns_30_h0_pool_size_1_h1_pattern_width_17_h1_patterns_30_h1_pool_size_1_learning_rate_0.01_lr_exponential_decay_factor_1.04548992888/epochs/",
            #     save_prefix: "epoch",
            # },
    ],
    
    save_freq: 1,
    save_path: "/imaging/sstober/spearmint.jobs/nips/h1_norestriction.all/fast/cache/_h0_pattern_width_1_h0_patterns_30_h0_pool_size_1_h1_pattern_width_17_h1_patterns_30_h1_pool_size_1_learning_rate_0.01_lr_exponential_decay_factor_1.04548992888/mlp.pkl",
    allow_overwrite: True,
}

Input shape: (33, 49)
Detector space: (33, 1)
Output space: (33, 1)
Input shape: (33, 1)
Detector space: (17, 1)
Output space: (17, 1)
INFO:deepthought.util.yaml_util:parsing yaml done. Time elapsed: 14.804148 seconds
INFO:deepthought.experiments.nips2014.scripts.generate_plots:loading train from /Users/sstober/work/develop/deepthought-output/nips2014/models/h1/fast/best/train.yaml done. Time elapsed: 14.804806 seconds
INFO:deepthought.experiments.nips2014.scripts.generate_plots:loading model from /Users/sstober/work/develop/deepthought-output/nips2014/models/h1/slow/best/mlp_best.pkl...
INFO:deepthought.experiments.nips2014.scripts.generate_plots:loading model from /Users/sstober/work/develop/deepthought-output/nips2014/models/h1/slow/best/mlp_best.pkl done. Time elapsed: 0.169037 seconds
INFO:deepthought.datasets.rwanda2013rhythms.PathLocalizer:changing data path to: /Users/sstober/work/datasets/rwanda2013rhythms/eeg
INFO:deepthought.experiments.nips2014.scripts.generate_plots:loading train from /Users/sstober/work/develop/deepthought-output/nips2014/models/h1/slow/best/train.yaml...
INFO:deepthought.util.yaml_util:parsing yaml...
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub001TN010613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub002DI010613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub003TN020613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub004DN040613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub005NE040613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub006PN040613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub007FB050613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub008MN050613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub009DK050613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub010DO060613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub011AM060613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub012RN060613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub013MI080613/dataset_13goodchannels_plus4s.pklz
INFO:deepthought.datasets.rwanda2013rhythms.EEGDataset:loading data from /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub004DN040613/dataset_13goodchannels_plus4s.pklz...
INFO:deepthought.datasets.rwanda2013rhythms.EEGDataset:loading data from /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub004DN040613/dataset_13goodchannels_plus4s.pklz done. Time elapsed: 0.655075 seconds
INFO:deepthought.datasets.rwanda2013rhythms.EEGDataset:loading data from /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub005NE040613/dataset_13goodchannels_plus4s.pklz...
INFO:deepthought.datasets.rwanda2013rhythms.EEGDataset:loading data from /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub005NE040613/dataset_13goodchannels_plus4s.pklz done. Time elapsed: 0.682437 seconds
INFO:deepthought.datasets.rwanda2013rhythms.EEGDataset:loading data from /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub006PN040613/dataset_13goodchannels_plus4s.pklz...
INFO:deepthought.datasets.rwanda2013rhythms.EEGDataset:loading data from /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub006PN040613/dataset_13goodchannels_plus4s.pklz done. Time elapsed: 0.740220 seconds
INFO:deepthought.datasets.rwanda2013rhythms.EEGDataset:loading data from /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub010DO060613/dataset_13goodchannels_plus4s.pklz...
INFO:deepthought.datasets.rwanda2013rhythms.EEGDataset:loading data from /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub010DO060613/dataset_13goodchannels_plus4s.pklz done. Time elapsed: 0.736639 seconds
INFO:deepthought.datasets.rwanda2013rhythms.EEGDataset:loading data from /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub011AM060613/dataset_13goodchannels_plus4s.pklz...
INFO:deepthought.datasets.rwanda2013rhythms.EEGDataset:loading data from /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub011AM060613/dataset_13goodchannels_plus4s.pklz done. Time elapsed: 0.684996 seconds
INFO:deepthought.datasets.rwanda2013rhythms.EEGDataset:loading data from /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub012RN060613/dataset_13goodchannels_plus4s.pklz...
INFO:deepthought.datasets.rwanda2013rhythms.EEGDataset:loading data from /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub012RN060613/dataset_13goodchannels_plus4s.pklz done. Time elapsed: 0.661178 seconds
INFO:deepthought.datasets.rwanda2013rhythms.EEGDataset:loading data from /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub013MI080613/dataset_13goodchannels_plus4s.pklz...
INFO:deepthought.datasets.rwanda2013rhythms.EEGDataset:loading data from /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub013MI080613/dataset_13goodchannels_plus4s.pklz done. Time elapsed: 0.667337 seconds
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:final dataset shape: (2136, 45, 49, 1) (b,0,1,c)
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:generated dataset "test" with shape X=(2136, 2205) y=(2136, 24) labels=(2136,) 
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub001TN010613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub002DI010613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub003TN020613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub004DN040613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub005NE040613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub006PN040613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub007FB050613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub008MN050613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub009DK050613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub010DO060613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub011AM060613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub012RN060613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub013MI080613/dataset_13goodchannels_plus4s.pklz
INFO:deepthought.datasets.rwanda2013rhythms.EEGDataset:loading data from /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub004DN040613/dataset_13goodchannels_plus4s.pklz...
INFO:deepthought.datasets.rwanda2013rhythms.EEGDataset:loading data from /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub004DN040613/dataset_13goodchannels_plus4s.pklz done. Time elapsed: 0.902032 seconds
INFO:deepthought.datasets.rwanda2013rhythms.EEGDataset:loading data from /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub005NE040613/dataset_13goodchannels_plus4s.pklz...
INFO:deepthought.datasets.rwanda2013rhythms.EEGDataset:loading data from /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub005NE040613/dataset_13goodchannels_plus4s.pklz done. Time elapsed: 0.931268 seconds
INFO:deepthought.datasets.rwanda2013rhythms.EEGDataset:loading data from /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub006PN040613/dataset_13goodchannels_plus4s.pklz...
INFO:deepthought.datasets.rwanda2013rhythms.EEGDataset:loading data from /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub006PN040613/dataset_13goodchannels_plus4s.pklz done. Time elapsed: 1.017714 seconds
INFO:deepthought.datasets.rwanda2013rhythms.EEGDataset:loading data from /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub010DO060613/dataset_13goodchannels_plus4s.pklz...
INFO:deepthought.datasets.rwanda2013rhythms.EEGDataset:loading data from /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub010DO060613/dataset_13goodchannels_plus4s.pklz done. Time elapsed: 1.003820 seconds
INFO:deepthought.datasets.rwanda2013rhythms.EEGDataset:loading data from /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub011AM060613/dataset_13goodchannels_plus4s.pklz...
INFO:deepthought.datasets.rwanda2013rhythms.EEGDataset:loading data from /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub011AM060613/dataset_13goodchannels_plus4s.pklz done. Time elapsed: 0.933061 seconds
INFO:deepthought.datasets.rwanda2013rhythms.EEGDataset:loading data from /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub012RN060613/dataset_13goodchannels_plus4s.pklz...
INFO:deepthought.datasets.rwanda2013rhythms.EEGDataset:loading data from /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub012RN060613/dataset_13goodchannels_plus4s.pklz done. Time elapsed: 0.936133 seconds
INFO:deepthought.datasets.rwanda2013rhythms.EEGDataset:loading data from /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub013MI080613/dataset_13goodchannels_plus4s.pklz...
INFO:deepthought.datasets.rwanda2013rhythms.EEGDataset:loading data from /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub013MI080613/dataset_13goodchannels_plus4s.pklz done. Time elapsed: 0.923180 seconds
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:final dataset shape: (19224, 45, 49, 1) (b,0,1,c)
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:generated dataset "train" with shape X=(19224, 2205) y=(19224, 24) labels=(19224,) 
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub001TN010613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub002DI010613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub003TN020613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub004DN040613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub005NE040613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub006PN040613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub007FB050613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub008MN050613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub009DK050613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub010DO060613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub011AM060613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub012RN060613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub013MI080613/dataset_13goodchannels_plus4s.pklz
INFO:deepthought.datasets.rwanda2013rhythms.EEGDataset:loading data from /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub004DN040613/dataset_13goodchannels_plus4s.pklz...
INFO:deepthought.datasets.rwanda2013rhythms.EEGDataset:loading data from /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub004DN040613/dataset_13goodchannels_plus4s.pklz done. Time elapsed: 0.646401 seconds
INFO:deepthought.datasets.rwanda2013rhythms.EEGDataset:loading data from /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub005NE040613/dataset_13goodchannels_plus4s.pklz...
INFO:deepthought.datasets.rwanda2013rhythms.EEGDataset:loading data from /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub005NE040613/dataset_13goodchannels_plus4s.pklz done. Time elapsed: 0.687553 seconds
INFO:deepthought.datasets.rwanda2013rhythms.EEGDataset:loading data from /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub006PN040613/dataset_13goodchannels_plus4s.pklz...
INFO:deepthought.datasets.rwanda2013rhythms.EEGDataset:loading data from /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub006PN040613/dataset_13goodchannels_plus4s.pklz done. Time elapsed: 0.732582 seconds
INFO:deepthought.datasets.rwanda2013rhythms.EEGDataset:loading data from /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub010DO060613/dataset_13goodchannels_plus4s.pklz...
INFO:deepthought.datasets.rwanda2013rhythms.EEGDataset:loading data from /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub010DO060613/dataset_13goodchannels_plus4s.pklz done. Time elapsed: 0.747781 seconds
INFO:deepthought.datasets.rwanda2013rhythms.EEGDataset:loading data from /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub011AM060613/dataset_13goodchannels_plus4s.pklz...
INFO:deepthought.datasets.rwanda2013rhythms.EEGDataset:loading data from /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub011AM060613/dataset_13goodchannels_plus4s.pklz done. Time elapsed: 0.712741 seconds
INFO:deepthought.datasets.rwanda2013rhythms.EEGDataset:loading data from /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub012RN060613/dataset_13goodchannels_plus4s.pklz...
INFO:deepthought.datasets.rwanda2013rhythms.EEGDataset:loading data from /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub012RN060613/dataset_13goodchannels_plus4s.pklz done. Time elapsed: 0.679086 seconds
INFO:deepthought.datasets.rwanda2013rhythms.EEGDataset:loading data from /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub013MI080613/dataset_13goodchannels_plus4s.pklz...
INFO:deepthought.datasets.rwanda2013rhythms.EEGDataset:loading data from /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub013MI080613/dataset_13goodchannels_plus4s.pklz done. Time elapsed: 0.650610 seconds
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:final dataset shape: (2136, 45, 49, 1) (b,0,1,c)
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:generated dataset "valid" with shape X=(2136, 2205) y=(2136, 24) labels=(2136,) 
None
!obj:pylearn2.train.Train {
    dataset: &train !obj:deepbeat.eeg.EEGDataset.EEGDataset {
        name : 'train',
        path : /Users/sstober/work/datasets/rwanda2013rhythms/eeg,
        suffix : _13goodchannels_plus4s,
        subjects : [3, 4, 5, 9, 10, 11, 12],
        resample : [400,400],
        # start_sample : 1152,
        start_sample : 1472,
        stop_sample  : 11648,                   # None (empty) = end of sequence 
        frame_size : 45,
        hop_size : 45,
        label_mode : rhythm,
        n_fft : 96,                      # None (empty) = raw signal
        n_freq_bins : 49,
        include_phase : False,
        spectrum_log_amplitude : True,
        spectrum_normalization_mode : linear_0_1,
    },
    
    model: &model !obj:pylearn2.models.mlp.MLP {
        seed : 13,                                        # controls initialization
        batch_size: 100,
        input_space: !obj:pylearn2.space.Conv2DSpace {
                        shape: [45, 49],                  # just 1d
                        num_channels: 1,
                    },
        layers: [
                !obj:pylearn2.models.mlp.ConvRectifiedLinear {
                    layer_name: 'h0',
                    output_channels: 23,            # number of feature maps
                    irange: 0.050000,
                    # init_bias: ,                    
                    # max_kernel_norm: 1.9365,
                    kernel_shape: [1, 49],         
                    pool_shape: [10, 1],                # if 1 -> no aggregation / smoothing / time-invariance
                    pool_stride: [1, 1],             # if 1 -> no sub-sampling / dimension reduction
                    pool_type: 'max',
                    tied_b: True
                },

                !obj:pylearn2.models.mlp.ConvRectifiedLinear {
                    layer_name: 'h1',
                    output_channels: 27,            # number of feature maps
                    irange: 0.050000,
                    # init_bias: ,
                    # max_kernel_norm: 1.9365,
                    kernel_shape: [12, 1],
                    pool_shape: [5, 1],                # if 1 -> no aggregation / smoothing / time-invariance
                    pool_stride: [1, 1],             # if 1 -> no sub-sampling / dimension reduction
                    pool_type: 'max',
                    tied_b: True
                },

                !obj:deepbeat.pylearn2ext.HingeLoss.HingeLoss {
                    # max_col_norm: 1.9365,
                    layer_name: 'y',
                    n_classes: 24,
                    irange: 0.050000,
                    # istdev: .05,
                    # max_col_norm: 1.9365,
                 }
                
               ]
    },
    
    algorithm: !obj:pylearn2.training_algorithms.sgd.SGD {
        seed: 13,                                  # controls dataset traversal
        batch_size: 100,
        learning_rate: 0.01,

        monitoring_dataset:
            {
                'train' : *train,
                'valid'  : &valid !obj:deepbeat.eeg.EEGDataset.EEGDataset {
                                name : 'valid',
                                path : /Users/sstober/work/datasets/rwanda2013rhythms/eeg, 
                                suffix : _13goodchannels_plus4s,
                                subjects : [3, 4, 5, 9, 10, 11, 12],
                                resample : [400,400],
                                start_sample : 320,
                                stop_sample  : 1472, # None (empty) = end of sequence 
                                frame_size : 45,
                                hop_size : 45,           
                                label_mode : rhythm,
                                n_fft : 96,
                                n_freq_bins : 49,
                                include_phase : False,
                                spectrum_log_amplitude : True,
                                spectrum_normalization_mode : linear_0_1,
                            },
                'test'  : &test !obj:deepbeat.eeg.EEGDataset.EEGDataset {
                                name : 'test',
                                path : /Users/sstober/work/datasets/rwanda2013rhythms/eeg, 
                                suffix : _13goodchannels_plus4s,
                                subjects : [3, 4, 5, 9, 10, 11, 12],
                                resample : [400,400],
                                start_sample : 11648,
                                stop_sample  : 12800,    # None (empty) = end of sequence 
                                frame_size : 45,
                                hop_size : 45,           
                                label_mode : rhythm,
                                n_fft : 96,
                                n_freq_bins : 49,
                                include_phase : False,
                                spectrum_log_amplitude : True,
                                spectrum_normalization_mode : linear_0_1,
                            },
            },
        # cost: &cost !obj:pylearn2.models.mlp.Default {},
        
        cost: &cost
        #     # !obj:pylearn2.costs.cost.SumOfCosts { 
        #     #     costs: [
                    !obj:pylearn2.costs.mlp.dropout.Dropout {
                        input_include_probs: { 'h0' : .8 },
                            input_scales: { 'h0': 1. }
                    },
        #             # !obj:pylearn2.costs.mlp.L1WeightDecay {
        #             #     coeffs: [1e-05, 1e-05, 1e-05, 1e-05, 1e-05], #[ .000001, .000001, .000001, .000001 ]
        #             # },
        #             # !obj:pylearn2.costs.mlp.WeightDecay {
        #             #     coeffs: [1e-05, 1e-05, 1e-05, 1e-05, 1e-05], #[ .000005, .000005, .000005, .000005 ]
        #             # },
        #     #     ]
        #     # },

        termination_criterion: 
            # !obj:pylearn2.termination_criteria.And {
                # criteria: [
                    # !obj:pylearn2.termination_criteria.MonitorBased {
                    #     channel_name: "valid_y_misclass",
                    #     prop_decrease: 0.50,
                    #     N: 10
                    # },
                    !obj:pylearn2.termination_criteria.EpochCounter {
                        max_epochs: 50
                    },
                # ]
            # },

        learning_rule: 
            !obj:pylearn2.training_algorithms.learning_rule.Momentum {
                init_momentum: 0.500000,
            },
            # !obj:pylearn2.training_algorithms.learning_rule.AdaDelta {},

    },
    
    extensions:
        [
            # like pylearn2.training_algorithms.sgd.ExponentialDecay
            # but only applied once per epoch (i.e. independent of batch_size)
            # decay factor needs to be adjusted as x ** num_batches_per_epoch
            !obj:deepbeat.pylearn2ext.ExponentialDecay.ExponentialDecay {
                decay_factor: 1.060277, 
                min_lr: 0.000001, 
            },

            !obj:pylearn2.training_algorithms.learning_rule.MomentumAdjustor {
                start: 1,
                saturate: 50,
                final_momentum: 0.990000,
            },            
             
            !obj:deepbeat.pylearn2ext.util.LoggingCallback {
                name: '20136_h0_pattern_width_1_h0_patterns_23_h0_pool_size_10_h1_pattern_width_12_h1_patterns_27_h1_pool_size_5_learning_rate_0.01_lr_exponential_decay_factor_1.06027723446',
                obj_channels: ['train_objective', 'train_y_misclass', 'valid_y_misclass', 'test_y_misclass'],
            },

            # should be extension last (after all computations are done)
            !obj:pylearn2.train_extensions.best_params.MonitorBasedSaveBest {
                channel_name: 'valid_y_misclass',
                higher_is_better: False,
                save_path: "/imaging/sstober/spearmint.jobs/nips/h1_norestriction.all/slow/cache/_h0_pattern_width_1_h0_patterns_23_h0_pool_size_10_h1_pattern_width_12_h1_patterns_27_h1_pool_size_5_learning_rate_0.01_lr_exponential_decay_factor_1.06027723446/mlp_best.pkl",
            },

            # !obj:deepbeat.pylearn2ext.util.SaveEveryEpoch {
            #     save_path: "/imaging/sstober/spearmint.jobs/nips/h1_norestriction.all/slow/cache/_h0_pattern_width_1_h0_patterns_23_h0_pool_size_10_h1_pattern_width_12_h1_patterns_27_h1_pool_size_5_learning_rate_0.01_lr_exponential_decay_factor_1.06027723446/epochs/",
            #     save_prefix: "epoch",
            # },
    ],
    
    save_freq: 1,
    save_path: "/imaging/sstober/spearmint.jobs/nips/h1_norestriction.all/slow/cache/_h0_pattern_width_1_h0_patterns_23_h0_pool_size_10_h1_pattern_width_12_h1_patterns_27_h1_pool_size_5_learning_rate_0.01_lr_exponential_decay_factor_1.06027723446/mlp.pkl",
    allow_overwrite: True,
}

Input shape: (45, 49)
Detector space: (45, 1)
Output space: (36, 1)
Input shape: (36, 1)
Detector space: (25, 1)
Output space: (21, 1)
INFO:deepthought.util.yaml_util:parsing yaml done. Time elapsed: 17.737982 seconds
INFO:deepthought.experiments.nips2014.scripts.generate_plots:loading train from /Users/sstober/work/develop/deepthought-output/nips2014/models/h1/slow/best/train.yaml done. Time elapsed: 17.738642 seconds
INFO:deepthought.experiments.nips2014.scripts.generate_plots:loading model from /Users/sstober/work/develop/deepthought-output/nips2014/models/h1/all/best/mlp_best.pkl...
INFO:deepthought.experiments.nips2014.scripts.generate_plots:loading model from /Users/sstober/work/develop/deepthought-output/nips2014/models/h1/all/best/mlp_best.pkl done. Time elapsed: 0.176468 seconds
INFO:deepthought.datasets.rwanda2013rhythms.PathLocalizer:changing data path to: /Users/sstober/work/datasets/rwanda2013rhythms/eeg
INFO:deepthought.experiments.nips2014.scripts.generate_plots:loading train from /Users/sstober/work/develop/deepthought-output/nips2014/models/h1/all/best/train.yaml...
INFO:deepthought.util.yaml_util:parsing yaml...
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub001TN010613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub002DI010613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub003TN020613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub004DN040613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub005NE040613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub006PN040613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub007FB050613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub008MN050613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub009DK050613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub010DO060613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub011AM060613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub012RN060613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub013MI080613/dataset_13goodchannels_plus4s.pklz
INFO:deepthought.datasets.rwanda2013rhythms.EEGDataset:loading data from /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub001TN010613/dataset_13goodchannels_plus4s.pklz...
INFO:deepthought.datasets.rwanda2013rhythms.EEGDataset:loading data from /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub001TN010613/dataset_13goodchannels_plus4s.pklz done. Time elapsed: 0.621872 seconds
INFO:deepthought.datasets.rwanda2013rhythms.EEGDataset:loading data from /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub002DI010613/dataset_13goodchannels_plus4s.pklz...
INFO:deepthought.datasets.rwanda2013rhythms.EEGDataset:loading data from /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub002DI010613/dataset_13goodchannels_plus4s.pklz done. Time elapsed: 0.700746 seconds
INFO:deepthought.datasets.rwanda2013rhythms.EEGDataset:loading data from /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub003TN020613/dataset_13goodchannels_plus4s.pklz...
INFO:deepthought.datasets.rwanda2013rhythms.EEGDataset:loading data from /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub003TN020613/dataset_13goodchannels_plus4s.pklz done. Time elapsed: 0.620781 seconds
INFO:deepthought.datasets.rwanda2013rhythms.EEGDataset:loading data from /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub004DN040613/dataset_13goodchannels_plus4s.pklz...
INFO:deepthought.datasets.rwanda2013rhythms.EEGDataset:loading data from /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub004DN040613/dataset_13goodchannels_plus4s.pklz done. Time elapsed: 0.637581 seconds
INFO:deepthought.datasets.rwanda2013rhythms.EEGDataset:loading data from /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub005NE040613/dataset_13goodchannels_plus4s.pklz...
INFO:deepthought.datasets.rwanda2013rhythms.EEGDataset:loading data from /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub005NE040613/dataset_13goodchannels_plus4s.pklz done. Time elapsed: 0.647612 seconds
INFO:deepthought.datasets.rwanda2013rhythms.EEGDataset:loading data from /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub006PN040613/dataset_13goodchannels_plus4s.pklz...
INFO:deepthought.datasets.rwanda2013rhythms.EEGDataset:loading data from /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub006PN040613/dataset_13goodchannels_plus4s.pklz done. Time elapsed: 0.724323 seconds
INFO:deepthought.datasets.rwanda2013rhythms.EEGDataset:loading data from /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub007FB050613/dataset_13goodchannels_plus4s.pklz...
INFO:deepthought.datasets.rwanda2013rhythms.EEGDataset:loading data from /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub007FB050613/dataset_13goodchannels_plus4s.pklz done. Time elapsed: 0.676111 seconds
INFO:deepthought.datasets.rwanda2013rhythms.EEGDataset:loading data from /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub008MN050613/dataset_13goodchannels_plus4s.pklz...
INFO:deepthought.datasets.rwanda2013rhythms.EEGDataset:loading data from /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub008MN050613/dataset_13goodchannels_plus4s.pklz done. Time elapsed: 0.740771 seconds
INFO:deepthought.datasets.rwanda2013rhythms.EEGDataset:loading data from /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub009DK050613/dataset_13goodchannels_plus4s.pklz...
INFO:deepthought.datasets.rwanda2013rhythms.EEGDataset:loading data from /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub009DK050613/dataset_13goodchannels_plus4s.pklz done. Time elapsed: 0.740920 seconds
INFO:deepthought.datasets.rwanda2013rhythms.EEGDataset:loading data from /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub010DO060613/dataset_13goodchannels_plus4s.pklz...
INFO:deepthought.datasets.rwanda2013rhythms.EEGDataset:loading data from /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub010DO060613/dataset_13goodchannels_plus4s.pklz done. Time elapsed: 0.719154 seconds
INFO:deepthought.datasets.rwanda2013rhythms.EEGDataset:loading data from /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub011AM060613/dataset_13goodchannels_plus4s.pklz...
INFO:deepthought.datasets.rwanda2013rhythms.EEGDataset:loading data from /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub011AM060613/dataset_13goodchannels_plus4s.pklz done. Time elapsed: 0.689493 seconds
INFO:deepthought.datasets.rwanda2013rhythms.EEGDataset:loading data from /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub012RN060613/dataset_13goodchannels_plus4s.pklz...
INFO:deepthought.datasets.rwanda2013rhythms.EEGDataset:loading data from /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub012RN060613/dataset_13goodchannels_plus4s.pklz done. Time elapsed: 0.656908 seconds
INFO:deepthought.datasets.rwanda2013rhythms.EEGDataset:loading data from /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub013MI080613/dataset_13goodchannels_plus4s.pklz...
INFO:deepthought.datasets.rwanda2013rhythms.EEGDataset:loading data from /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub013MI080613/dataset_13goodchannels_plus4s.pklz done. Time elapsed: 0.661514 seconds
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:final dataset shape: (3936, 33, 49, 1) (b,0,1,c)
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:generated dataset "test" with shape X=(3936, 1617) y=(3936, 24) labels=(3936,) 
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub001TN010613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub002DI010613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub003TN020613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub004DN040613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub005NE040613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub006PN040613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub007FB050613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub008MN050613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub009DK050613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub010DO060613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub011AM060613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub012RN060613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub013MI080613/dataset_13goodchannels_plus4s.pklz
INFO:deepthought.datasets.rwanda2013rhythms.EEGDataset:loading data from /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub001TN010613/dataset_13goodchannels_plus4s.pklz...
INFO:deepthought.datasets.rwanda2013rhythms.EEGDataset:loading data from /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub001TN010613/dataset_13goodchannels_plus4s.pklz done. Time elapsed: 0.870174 seconds
INFO:deepthought.datasets.rwanda2013rhythms.EEGDataset:loading data from /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub002DI010613/dataset_13goodchannels_plus4s.pklz...
INFO:deepthought.datasets.rwanda2013rhythms.EEGDataset:loading data from /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub002DI010613/dataset_13goodchannels_plus4s.pklz done. Time elapsed: 0.943583 seconds
INFO:deepthought.datasets.rwanda2013rhythms.EEGDataset:loading data from /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub003TN020613/dataset_13goodchannels_plus4s.pklz...
INFO:deepthought.datasets.rwanda2013rhythms.EEGDataset:loading data from /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub003TN020613/dataset_13goodchannels_plus4s.pklz done. Time elapsed: 0.877481 seconds
INFO:deepthought.datasets.rwanda2013rhythms.EEGDataset:loading data from /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub004DN040613/dataset_13goodchannels_plus4s.pklz...
INFO:deepthought.datasets.rwanda2013rhythms.EEGDataset:loading data from /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub004DN040613/dataset_13goodchannels_plus4s.pklz done. Time elapsed: 0.879351 seconds
INFO:deepthought.datasets.rwanda2013rhythms.EEGDataset:loading data from /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub005NE040613/dataset_13goodchannels_plus4s.pklz...
INFO:deepthought.datasets.rwanda2013rhythms.EEGDataset:loading data from /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub005NE040613/dataset_13goodchannels_plus4s.pklz done. Time elapsed: 0.918518 seconds
INFO:deepthought.datasets.rwanda2013rhythms.EEGDataset:loading data from /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub006PN040613/dataset_13goodchannels_plus4s.pklz...
INFO:deepthought.datasets.rwanda2013rhythms.EEGDataset:loading data from /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub006PN040613/dataset_13goodchannels_plus4s.pklz done. Time elapsed: 1.013097 seconds
INFO:deepthought.datasets.rwanda2013rhythms.EEGDataset:loading data from /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub007FB050613/dataset_13goodchannels_plus4s.pklz...
INFO:deepthought.datasets.rwanda2013rhythms.EEGDataset:loading data from /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub007FB050613/dataset_13goodchannels_plus4s.pklz done. Time elapsed: 0.965824 seconds
INFO:deepthought.datasets.rwanda2013rhythms.EEGDataset:loading data from /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub008MN050613/dataset_13goodchannels_plus4s.pklz...
INFO:deepthought.datasets.rwanda2013rhythms.EEGDataset:loading data from /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub008MN050613/dataset_13goodchannels_plus4s.pklz done. Time elapsed: 1.010132 seconds
INFO:deepthought.datasets.rwanda2013rhythms.EEGDataset:loading data from /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub009DK050613/dataset_13goodchannels_plus4s.pklz...
INFO:deepthought.datasets.rwanda2013rhythms.EEGDataset:loading data from /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub009DK050613/dataset_13goodchannels_plus4s.pklz done. Time elapsed: 1.043638 seconds
INFO:deepthought.datasets.rwanda2013rhythms.EEGDataset:loading data from /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub010DO060613/dataset_13goodchannels_plus4s.pklz...
INFO:deepthought.datasets.rwanda2013rhythms.EEGDataset:loading data from /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub010DO060613/dataset_13goodchannels_plus4s.pklz done. Time elapsed: 1.023608 seconds
INFO:deepthought.datasets.rwanda2013rhythms.EEGDataset:loading data from /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub011AM060613/dataset_13goodchannels_plus4s.pklz...
INFO:deepthought.datasets.rwanda2013rhythms.EEGDataset:loading data from /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub011AM060613/dataset_13goodchannels_plus4s.pklz done. Time elapsed: 0.923499 seconds
INFO:deepthought.datasets.rwanda2013rhythms.EEGDataset:loading data from /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub012RN060613/dataset_13goodchannels_plus4s.pklz...
INFO:deepthought.datasets.rwanda2013rhythms.EEGDataset:loading data from /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub012RN060613/dataset_13goodchannels_plus4s.pklz done. Time elapsed: 0.946488 seconds
INFO:deepthought.datasets.rwanda2013rhythms.EEGDataset:loading data from /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub013MI080613/dataset_13goodchannels_plus4s.pklz...
INFO:deepthought.datasets.rwanda2013rhythms.EEGDataset:loading data from /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub013MI080613/dataset_13goodchannels_plus4s.pklz done. Time elapsed: 0.993890 seconds
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:final dataset shape: (51168, 33, 49, 1) (b,0,1,c)
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:generated dataset "train" with shape X=(51168, 1617) y=(51168, 24) labels=(51168,) 
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub001TN010613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub002DI010613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub003TN020613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub004DN040613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub005NE040613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub006PN040613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub007FB050613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub008MN050613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub009DK050613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub010DO060613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub011AM060613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub012RN060613/dataset_13goodchannels_plus4s.pklz
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:addding /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub013MI080613/dataset_13goodchannels_plus4s.pklz
INFO:deepthought.datasets.rwanda2013rhythms.EEGDataset:loading data from /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub001TN010613/dataset_13goodchannels_plus4s.pklz...
INFO:deepthought.datasets.rwanda2013rhythms.EEGDataset:loading data from /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub001TN010613/dataset_13goodchannels_plus4s.pklz done. Time elapsed: 0.594218 seconds
INFO:deepthought.datasets.rwanda2013rhythms.EEGDataset:loading data from /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub002DI010613/dataset_13goodchannels_plus4s.pklz...
INFO:deepthought.datasets.rwanda2013rhythms.EEGDataset:loading data from /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub002DI010613/dataset_13goodchannels_plus4s.pklz done. Time elapsed: 0.686656 seconds
INFO:deepthought.datasets.rwanda2013rhythms.EEGDataset:loading data from /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub003TN020613/dataset_13goodchannels_plus4s.pklz...
INFO:deepthought.datasets.rwanda2013rhythms.EEGDataset:loading data from /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub003TN020613/dataset_13goodchannels_plus4s.pklz done. Time elapsed: 0.640116 seconds
INFO:deepthought.datasets.rwanda2013rhythms.EEGDataset:loading data from /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub004DN040613/dataset_13goodchannels_plus4s.pklz...
INFO:deepthought.datasets.rwanda2013rhythms.EEGDataset:loading data from /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub004DN040613/dataset_13goodchannels_plus4s.pklz done. Time elapsed: 0.625741 seconds
INFO:deepthought.datasets.rwanda2013rhythms.EEGDataset:loading data from /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub005NE040613/dataset_13goodchannels_plus4s.pklz...
INFO:deepthought.datasets.rwanda2013rhythms.EEGDataset:loading data from /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub005NE040613/dataset_13goodchannels_plus4s.pklz done. Time elapsed: 0.678354 seconds
INFO:deepthought.datasets.rwanda2013rhythms.EEGDataset:loading data from /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub006PN040613/dataset_13goodchannels_plus4s.pklz...
INFO:deepthought.datasets.rwanda2013rhythms.EEGDataset:loading data from /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub006PN040613/dataset_13goodchannels_plus4s.pklz done. Time elapsed: 0.750692 seconds
INFO:deepthought.datasets.rwanda2013rhythms.EEGDataset:loading data from /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub007FB050613/dataset_13goodchannels_plus4s.pklz...
INFO:deepthought.datasets.rwanda2013rhythms.EEGDataset:loading data from /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub007FB050613/dataset_13goodchannels_plus4s.pklz done. Time elapsed: 0.680852 seconds
INFO:deepthought.datasets.rwanda2013rhythms.EEGDataset:loading data from /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub008MN050613/dataset_13goodchannels_plus4s.pklz...
INFO:deepthought.datasets.rwanda2013rhythms.EEGDataset:loading data from /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub008MN050613/dataset_13goodchannels_plus4s.pklz done. Time elapsed: 0.739241 seconds
INFO:deepthought.datasets.rwanda2013rhythms.EEGDataset:loading data from /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub009DK050613/dataset_13goodchannels_plus4s.pklz...
INFO:deepthought.datasets.rwanda2013rhythms.EEGDataset:loading data from /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub009DK050613/dataset_13goodchannels_plus4s.pklz done. Time elapsed: 0.799302 seconds
INFO:deepthought.datasets.rwanda2013rhythms.EEGDataset:loading data from /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub010DO060613/dataset_13goodchannels_plus4s.pklz...
INFO:deepthought.datasets.rwanda2013rhythms.EEGDataset:loading data from /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub010DO060613/dataset_13goodchannels_plus4s.pklz done. Time elapsed: 0.772221 seconds
INFO:deepthought.datasets.rwanda2013rhythms.EEGDataset:loading data from /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub011AM060613/dataset_13goodchannels_plus4s.pklz...
INFO:deepthought.datasets.rwanda2013rhythms.EEGDataset:loading data from /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub011AM060613/dataset_13goodchannels_plus4s.pklz done. Time elapsed: 0.732843 seconds
INFO:deepthought.datasets.rwanda2013rhythms.EEGDataset:loading data from /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub012RN060613/dataset_13goodchannels_plus4s.pklz...
INFO:deepthought.datasets.rwanda2013rhythms.EEGDataset:loading data from /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub012RN060613/dataset_13goodchannels_plus4s.pklz done. Time elapsed: 0.691057 seconds
INFO:deepthought.datasets.rwanda2013rhythms.EEGDataset:loading data from /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub013MI080613/dataset_13goodchannels_plus4s.pklz...
INFO:deepthought.datasets.rwanda2013rhythms.EEGDataset:loading data from /Users/sstober/work/datasets/rwanda2013rhythms/eeg/Sub013MI080613/dataset_13goodchannels_plus4s.pklz done. Time elapsed: 0.664402 seconds
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:final dataset shape: (3936, 33, 49, 1) (b,0,1,c)
DEBUG:deepthought.datasets.rwanda2013rhythms.EEGDataset:generated dataset "valid" with shape X=(3936, 1617) y=(3936, 24) labels=(3936,) 
None
!obj:pylearn2.train.Train {
    dataset: &train !obj:deepbeat.eeg.EEGDataset.EEGDataset {
        name : 'train',
        path : /Users/sstober/work/datasets/rwanda2013rhythms/eeg,
        suffix : _13goodchannels_plus4s,
        subjects : [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12],
        resample : [400,400],
        # start_sample : 864,
        start_sample : 1184,
        stop_sample  : 11936,                   # None (empty) = end of sequence 
        frame_size : 33,
        hop_size : 33,
        label_mode : rhythm,
        n_fft : 96,                      # None (empty) = raw signal
        n_freq_bins : 49,
        include_phase : False,
        spectrum_log_amplitude : True,
        spectrum_normalization_mode : linear_0_1,
    },
    
    model: &model !obj:pylearn2.models.mlp.MLP {
        seed : 13,                                        # controls initialization
        batch_size: 100,
        input_space: !obj:pylearn2.space.Conv2DSpace {
                        shape: [33, 49],                  # just 1d
                        num_channels: 1,
                    },
        layers: [
                !obj:pylearn2.models.mlp.ConvRectifiedLinear {
                    layer_name: 'h0',
                    output_channels: 22,            # number of feature maps
                    irange: 0.050000,
                    # init_bias: ,                    
                    # max_kernel_norm: 1.9365,
                    kernel_shape: [3, 49],         
                    pool_shape: [9, 1],                # if 1 -> no aggregation / smoothing / time-invariance
                    pool_stride: [1, 1],             # if 1 -> no sub-sampling / dimension reduction
                    pool_type: 'max',
                    tied_b: True
                },

                !obj:pylearn2.models.mlp.ConvRectifiedLinear {
                    layer_name: 'h1',
                    output_channels: 18,            # number of feature maps
                    irange: 0.050000,
                    # init_bias: ,
                    # max_kernel_norm: 1.9365,
                    kernel_shape: [5, 1],
                    pool_shape: [5, 1],                # if 1 -> no aggregation / smoothing / time-invariance
                    pool_stride: [1, 1],             # if 1 -> no sub-sampling / dimension reduction
                    pool_type: 'max',
                    tied_b: True
                },

                !obj:deepbeat.pylearn2ext.HingeLoss.HingeLoss {
                    # max_col_norm: 1.9365,
                    layer_name: 'y',
                    n_classes: 24,
                    irange: 0.050000,
                    # istdev: .05,
                    # max_col_norm: 1.9365,
                 }
                
               ]
    },
    
    algorithm: !obj:pylearn2.training_algorithms.sgd.SGD {
        seed: 13,                                  # controls dataset traversal
        batch_size: 100,
        learning_rate: 0.00474600132057,

        monitoring_dataset:
            {
                'train' : *train,
                'valid'  : &valid !obj:deepbeat.eeg.EEGDataset.EEGDataset {
                                name : 'valid',
                                path : /Users/sstober/work/datasets/rwanda2013rhythms/eeg, 
                                suffix : _13goodchannels_plus4s,
                                subjects : [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12],
                                resample : [400,400],
                                start_sample : 320,
                                stop_sample  : 1184, # None (empty) = end of sequence 
                                frame_size : 33,
                                hop_size : 33,           
                                label_mode : rhythm,
                                n_fft : 96,
                                n_freq_bins : 49,
                                include_phase : False,
                                spectrum_log_amplitude : True,
                                spectrum_normalization_mode : linear_0_1,
                            },
                'test'  : &test !obj:deepbeat.eeg.EEGDataset.EEGDataset {
                                name : 'test',
                                path : /Users/sstober/work/datasets/rwanda2013rhythms/eeg, 
                                suffix : _13goodchannels_plus4s,
                                subjects : [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12],
                                resample : [400,400],
                                start_sample : 11936,
                                stop_sample  : 12800,    # None (empty) = end of sequence 
                                frame_size : 33,
                                hop_size : 33,           
                                label_mode : rhythm,
                                n_fft : 96,
                                n_freq_bins : 49,
                                include_phase : False,
                                spectrum_log_amplitude : True,
                                spectrum_normalization_mode : linear_0_1,
                            },
            },
        # cost: &cost !obj:pylearn2.models.mlp.Default {},
        
        cost: &cost
        #     # !obj:pylearn2.costs.cost.SumOfCosts { 
        #     #     costs: [
                    !obj:pylearn2.costs.mlp.dropout.Dropout {
                        input_include_probs: { 'h0' : .8 },
                            input_scales: { 'h0': 1. }
                    },
        #             # !obj:pylearn2.costs.mlp.L1WeightDecay {
        #             #     coeffs: [1e-05, 1e-05, 1e-05, 1e-05, 1e-05], #[ .000001, .000001, .000001, .000001 ]
        #             # },
        #             # !obj:pylearn2.costs.mlp.WeightDecay {
        #             #     coeffs: [1e-05, 1e-05, 1e-05, 1e-05, 1e-05], #[ .000005, .000005, .000005, .000005 ]
        #             # },
        #     #     ]
        #     # },

        termination_criterion: 
            # !obj:pylearn2.termination_criteria.And {
                # criteria: [
                    # !obj:pylearn2.termination_criteria.MonitorBased {
                    #     channel_name: "valid_y_misclass",
                    #     prop_decrease: 0.50,
                    #     N: 10
                    # },
                    !obj:pylearn2.termination_criteria.EpochCounter {
                        max_epochs: 50
                    },
                # ]
            # },

        learning_rule: 
            !obj:pylearn2.training_algorithms.learning_rule.Momentum {
                init_momentum: 0.500000,
            },
            # !obj:pylearn2.training_algorithms.learning_rule.AdaDelta {},

    },
    
    extensions:
        [
            # like pylearn2.training_algorithms.sgd.ExponentialDecay
            # but only applied once per epoch (i.e. independent of batch_size)
            # decay factor needs to be adjusted as x ** num_batches_per_epoch
            !obj:deepbeat.pylearn2ext.ExponentialDecay.ExponentialDecay {
                decay_factor: 1.000000, 
                min_lr: 0.000001, 
            },

            !obj:pylearn2.training_algorithms.learning_rule.MomentumAdjustor {
                start: 1,
                saturate: 50,
                final_momentum: 0.990000,
            },            
             
            !obj:deepbeat.pylearn2ext.util.LoggingCallback {
                name: '20067_h0_pattern_width_3_h0_patterns_22_h0_pool_size_9_h1_pattern_width_5_h1_patterns_18_h1_pool_size_5_learning_rate_0.00474600132057_lr_exponential_decay_factor_1.0',
                obj_channels: ['train_objective', 'train_y_misclass', 'valid_y_misclass', 'test_y_misclass'],
            },

            # should be extension last (after all computations are done)
            !obj:pylearn2.train_extensions.best_params.MonitorBasedSaveBest {
                channel_name: 'valid_y_misclass',
                higher_is_better: False,
                save_path: "/imaging/sstober/spearmint.jobs/nips/h1_norestriction.all/all/cache/_h0_pattern_width_3_h0_patterns_22_h0_pool_size_9_h1_pattern_width_5_h1_patterns_18_h1_pool_size_5_learning_rate_0.00474600132057_lr_exponential_decay_factor_1.0/mlp_best.pkl",
            },

            # !obj:deepbeat.pylearn2ext.util.SaveEveryEpoch {
            #     save_path: "/imaging/sstober/spearmint.jobs/nips/h1_norestriction.all/all/cache/_h0_pattern_width_3_h0_patterns_22_h0_pool_size_9_h1_pattern_width_5_h1_patterns_18_h1_pool_size_5_learning_rate_0.00474600132057_lr_exponential_decay_factor_1.0/epochs/",
            #     save_prefix: "epoch",
            # },
    ],
    
    save_freq: 1,
    save_path: "/imaging/sstober/spearmint.jobs/nips/h1_norestriction.all/all/cache/_h0_pattern_width_3_h0_patterns_22_h0_pool_size_9_h1_pattern_width_5_h1_patterns_18_h1_pool_size_5_learning_rate_0.00474600132057_lr_exponential_decay_factor_1.0/mlp.pkl",
    allow_overwrite: True,
}

Input shape: (33, 49)
Detector space: (31, 1)
Output space: (23, 1)
Input shape: (23, 1)
Detector space: (19, 1)
Output space: (15, 1)
INFO:deepthought.util.yaml_util:parsing yaml done. Time elapsed: 32.014337 seconds
INFO:deepthought.experiments.nips2014.scripts.generate_plots:loading train from /Users/sstober/work/develop/deepthought-output/nips2014/models/h1/all/best/train.yaml done. Time elapsed: 32.014980 seconds

In [10]:
from deepthought.pylearn2ext.util import aggregate_classification
from deepthought.experiments.nips2014.scripts.generate_plots import multi_level_accuracy_analysis

length = 16;
MRR = np.zeros(length);
prec1 = np.zeros(length);
prec3 = np.zeros(length);
acc24 = np.zeros(length);
acc12 = np.zeros(length);
acc4 = np.zeros(length);
acc2 = np.zeros(length);

line_MRR = 'mean reciprocal rank'
line_prec1 = 'accuracy'
line_prec3 = 'precision \@ 3'

def measure_performance(output, y_real):
    rank_count = np.zeros(24);
    rank = np.zeros(len(output)); # saves rank for each instance

    for i, out in enumerate(output):
        ranking = np.argsort(out)[::-1];  # [::-1] reverses the array 
        true_class = y_real[i];
        r = np.where(ranking == true_class)[0][0];
        rank[i] = r;
        rank_count[r] += 1;
    
    prec_at_k = np.zeros(24);
    total = np.sum(rank_count);
    for k in xrange(24):
       prec_at_k[k] = 100. * np.sum( rank_count[0:k+1] ) / float(total) 
    
    mrr = (1. / (rank+1)).mean();

    return prec_at_k, mrr
    

for subj in xrange(length):
    prec_at_k, MRR[subj] = measure_performance(output[subj], y_real[subj]);
    
    t_real, t_pred, t_predf, t_predp = aggregate_classification(datasets[subj].trial_partitions, y_real[subj], y_pred[subj], output[subj]);  
    acc24[subj], acc12[subj], acc4[subj], acc2[subj] = multi_level_accuracy_analysis(t_real, t_pred);
    
    prec1[subj] = prec_at_k[0];
    prec3[subj] = prec_at_k[2];
    
    line_MRR = line_MRR + '\t& {:.2f}'.format(MRR[subj]);
    line_prec1 = line_prec1 + '\t& {:.1f}\%'.format(prec1[subj]);
    line_prec3 = line_prec3 + '\t& {:.1f}\%'.format(prec3[subj]);
#     break;

line_MRR = line_MRR + '\t& {:.2f}'.format(np.mean(MRR));
line_prec1 = line_prec1 + '\t& {:.1f}\%'.format(np.mean(prec1));
line_prec3 = line_prec3 + '\t& {:.1f}\%'.format(np.mean(prec3));


print MRR[subj]
print line_prec1
print line_prec3
print line_MRR

print '{:.2f}'.format(np.mean(MRR));
print '{:.1f}\%'.format(np.mean(prec1));
print '{:.1f}\%'.format(np.mean(prec3));

# for i in xrange(length):
#     print '{} {:.1f} {:.1f} {:.2f}'.format(i+1, prec1[i], prec3[i], MRR[i]);

for i in xrange(length):
    params_str = '{}x{}\t& [{}x{}]/{}x{}\t&'.format(
                                        params[i]['input_shape'][0],
                                        params[i]['input_shape'][1],
                                        params[i]['kernel_shape'][0],
                                        params[i]['kernel_shape'][1],
                                        params[i]['pool_shape'][0],
                                        params[i]['output_channels'],                                     
                                     );
    params_str += ' [{}x{}]/{}x{}'.format(
                                        params1[i]['kernel_shape'][0],
                                        params1[i]['kernel_shape'][1],
                                        params1[i]['pool_shape'][0],
                                        params1[i]['output_channels'],                                     
                                     );

#     print '{:.1f}\%\t& {:.1f}\%\t& {:.2f}\t\\tabularnewline'.format(prec1[i], prec3[i], MRR[i]);
#    print '{}\t& {}\t& {:.1f}\%\t& {:.1f}\%\t& {:.2f}\t& {:.1f}\%\t& {:.1f}\%\t& {:.1f}\%\t& {:.1f}\%\t\\tabularnewline'.format(
    print '{}\t&& {}\t&& {:.1f}\%\t& {:.1f}\%\t& {:.2f}\t&& {:.1f}\%\t& {:.1f}\%\t& {:.1f}\%\t& {:.1f}\%\t\\tabularnewline'.format(
        i+1, params_str, prec1[i], prec3[i], MRR[i], acc24[i], acc12[i], acc4[i], acc2[i] );

# print 'mean \t& {:.1f}\%\t& {:.1f}\%\t& {:.2f}\t\\tabularnewline'.format(prec1.mean(), prec3.mean(), MRR.mean());
print 'mean \t& \t& \t& {:.1f}\%\t& {:.1f}\%\t& {:.2f}\t& {:.1f}\%\t& {:.1f}\%\t& {:.1f}\%\t& {:.1f}\%\t\\tabularnewline'.format(
        prec1[0:13].mean(), prec3[0:13].mean(), MRR[0:13].mean(), acc24[0:13].mean(), acc12[0:13].mean(), acc4[0:13].mean(), acc2[0:13].mean(), );


25.00% rhythm level accuracy (24 classes, chance level 4.17%)
29.17% rhythm pair level accuracy (12 classes, chance level 8.33%)
58.33% rhythm group level accuracy (4 classes, chance level 25.00%)
79.17% rhythm type level accuracy (2 classes, chance level 50.00%)
33.33% rhythm level accuracy (24 classes, chance level 4.17%)
33.33% rhythm pair level accuracy (12 classes, chance level 8.33%)
50.00% rhythm group level accuracy (4 classes, chance level 25.00%)
87.50% rhythm type level accuracy (2 classes, chance level 50.00%)
20.83% rhythm level accuracy (24 classes, chance level 4.17%)
20.83% rhythm pair level accuracy (12 classes, chance level 8.33%)
29.17% rhythm group level accuracy (4 classes, chance level 25.00%)
45.83% rhythm type level accuracy (2 classes, chance level 50.00%)
41.67% rhythm level accuracy (24 classes, chance level 4.17%)
58.33% rhythm pair level accuracy (12 classes, chance level 8.33%)
70.83% rhythm group level accuracy (4 classes, chance level 25.00%)
87.50% rhythm type level accuracy (2 classes, chance level 50.00%)
16.67% rhythm level accuracy (24 classes, chance level 4.17%)
25.00% rhythm pair level accuracy (12 classes, chance level 8.33%)
41.67% rhythm group level accuracy (4 classes, chance level 25.00%)
70.83% rhythm type level accuracy (2 classes, chance level 50.00%)
37.50% rhythm level accuracy (24 classes, chance level 4.17%)
41.67% rhythm pair level accuracy (12 classes, chance level 8.33%)
54.17% rhythm group level accuracy (4 classes, chance level 25.00%)
75.00% rhythm type level accuracy (2 classes, chance level 50.00%)
25.00% rhythm level accuracy (24 classes, chance level 4.17%)
29.17% rhythm pair level accuracy (12 classes, chance level 8.33%)
45.83% rhythm group level accuracy (4 classes, chance level 25.00%)
70.83% rhythm type level accuracy (2 classes, chance level 50.00%)
41.67% rhythm level accuracy (24 classes, chance level 4.17%)
41.67% rhythm pair level accuracy (12 classes, chance level 8.33%)
58.33% rhythm group level accuracy (4 classes, chance level 25.00%)
91.67% rhythm type level accuracy (2 classes, chance level 50.00%)
25.00% rhythm level accuracy (24 classes, chance level 4.17%)
29.17% rhythm pair level accuracy (12 classes, chance level 8.33%)
58.33% rhythm group level accuracy (4 classes, chance level 25.00%)
91.67% rhythm type level accuracy (2 classes, chance level 50.00%)
29.17% rhythm level accuracy (24 classes, chance level 4.17%)
29.17% rhythm pair level accuracy (12 classes, chance level 8.33%)
58.33% rhythm group level accuracy (4 classes, chance level 25.00%)
75.00% rhythm type level accuracy (2 classes, chance level 50.00%)
33.33% rhythm level accuracy (24 classes, chance level 4.17%)
41.67% rhythm pair level accuracy (12 classes, chance level 8.33%)
50.00% rhythm group level accuracy (4 classes, chance level 25.00%)
75.00% rhythm type level accuracy (2 classes, chance level 50.00%)
29.17% rhythm level accuracy (24 classes, chance level 4.17%)
33.33% rhythm pair level accuracy (12 classes, chance level 8.33%)
54.17% rhythm group level accuracy (4 classes, chance level 25.00%)
83.33% rhythm type level accuracy (2 classes, chance level 50.00%)
25.00% rhythm level accuracy (24 classes, chance level 4.17%)
29.17% rhythm pair level accuracy (12 classes, chance level 8.33%)
50.00% rhythm group level accuracy (4 classes, chance level 25.00%)
70.83% rhythm type level accuracy (2 classes, chance level 50.00%)
11.81% rhythm level accuracy (24 classes, chance level 4.17%)
19.44% rhythm pair level accuracy (12 classes, chance level 8.33%)
38.89% rhythm group level accuracy (4 classes, chance level 25.00%)
67.36% rhythm type level accuracy (2 classes, chance level 50.00%)
10.12% rhythm level accuracy (24 classes, chance level 4.17%)
13.10% rhythm pair level accuracy (12 classes, chance level 8.33%)
31.55% rhythm group level accuracy (4 classes, chance level 25.00%)
58.93% rhythm type level accuracy (2 classes, chance level 50.00%)
8.65% rhythm level accuracy (24 classes, chance level 4.17%)
12.50% rhythm pair level accuracy (12 classes, chance level 8.33%)
31.41% rhythm group level accuracy (4 classes, chance level 25.00%)
55.45% rhythm type level accuracy (2 classes, chance level 50.00%)
0.198898319244
accuracy	& 19.1\%	& 26.4\%	& 19.8\%	& 35.8\%	& 17.7\%	& 29.5\%	& 21.8\%	& 24.0\%	& 21.8\%	& 23.7\%	& 26.0\%	& 32.1\%	& 20.2\%	& 9.5\%	& 9.1\%	& 7.2\%	& 21.5\%
precision \@ 3	& 36.1\%	& 43.8\%	& 33.3\%	& 58.7\%	& 36.5\%	& 48.1\%	& 36.2\%	& 44.2\%	& 33.7\%	& 51.6\%	& 53.8\%	& 60.9\%	& 37.2\%	& 21.6\%	& 24.3\%	& 18.4\%	& 39.9\%
mean reciprocal rank	& 0.34	& 0.41	& 0.33	& 0.53	& 0.34	& 0.45	& 0.36	& 0.41	& 0.36	& 0.43	& 0.44	& 0.51	& 0.36	& 0.23	& 0.24	& 0.20	& 0.37
0.37
21.5\%
39.9\%
1	&& 33x49	& [5x49]/3x16	& [16x1]/5x12	&& 19.1\%	& 36.1\%	& 0.34	&& 25.0\%	& 29.2\%	& 58.3\%	& 79.2\%	\tabularnewline
2	&& 33x49	& [5x49]/1x25	& [13x1]/8x30	&& 26.4\%	& 43.8\%	& 0.41	&& 33.3\%	& 33.3\%	& 50.0\%	& 87.5\%	\tabularnewline
3	&& 33x49	& [4x49]/2x23	& [12x1]/1x22	&& 19.8\%	& 33.3\%	& 0.33	&& 20.8\%	& 20.8\%	& 29.2\%	& 45.8\%	\tabularnewline
4	&& 45x49	& [28x49]/1x25	& [1x1]/3x24	&& 35.8\%	& 58.7\%	& 0.53	&& 41.7\%	& 58.3\%	& 70.8\%	& 87.5\%	\tabularnewline
5	&& 45x49	& [3x49]/10x5	& [11x1]/8x11	&& 17.7\%	& 36.5\%	& 0.34	&& 16.7\%	& 25.0\%	& 41.7\%	& 70.8\%	\tabularnewline
6	&& 45x49	& [26x49]/5x30	& [1x1]/10x30	&& 29.5\%	& 48.1\%	& 0.45	&& 37.5\%	& 41.7\%	& 54.2\%	& 75.0\%	\tabularnewline
7	&& 33x49	& [1x49]/1x10	& [1x1]/5x30	&& 21.8\%	& 36.2\%	& 0.36	&& 25.0\%	& 29.2\%	& 45.8\%	& 70.8\%	\tabularnewline
8	&& 33x49	& [5x49]/2x21	& [2x1]/2x24	&& 24.0\%	& 44.2\%	& 0.41	&& 41.7\%	& 41.7\%	& 58.3\%	& 91.7\%	\tabularnewline
9	&& 33x49	& [13x49]/2x21	& [6x1]/4x30	&& 21.8\%	& 33.7\%	& 0.36	&& 25.0\%	& 29.2\%	& 58.3\%	& 91.7\%	\tabularnewline
10	&& 45x49	& [6x49]/1x30	& [1x1]/10x30	&& 23.7\%	& 51.6\%	& 0.43	&& 29.2\%	& 29.2\%	& 58.3\%	& 75.0\%	\tabularnewline
11	&& 45x49	& [25x49]/1x22	& [5x1]/2x23	&& 26.0\%	& 53.8\%	& 0.44	&& 33.3\%	& 41.7\%	& 50.0\%	& 75.0\%	\tabularnewline
12	&& 45x49	& [5x49]/5x30	& [5x1]/10x30	&& 32.1\%	& 60.9\%	& 0.51	&& 29.2\%	& 33.3\%	& 54.2\%	& 83.3\%	\tabularnewline
13	&& 45x49	& [18x49]/10x21	& [1x1]/6x30	&& 20.2\%	& 37.2\%	& 0.36	&& 25.0\%	& 29.2\%	& 50.0\%	& 70.8\%	\tabularnewline
14	&& 33x49	& [1x49]/1x30	& [17x1]/1x30	&& 9.5\%	& 21.6\%	& 0.23	&& 11.8\%	& 19.4\%	& 38.9\%	& 67.4\%	\tabularnewline
15	&& 45x49	& [1x49]/10x23	& [12x1]/5x27	&& 9.1\%	& 24.3\%	& 0.24	&& 10.1\%	& 13.1\%	& 31.5\%	& 58.9\%	\tabularnewline
16	&& 33x49	& [3x49]/9x22	& [5x1]/5x18	&& 7.2\%	& 18.4\%	& 0.20	&& 8.7\%	& 12.5\%	& 31.4\%	& 55.4\%	\tabularnewline
mean 	& 	& 	& 24.4\%	& 44.2\%	& 0.40	& 29.5\%	& 34.0\%	& 52.2\%	& 77.2\%	\tabularnewline

In [11]:
for i,a in enumerate(acc):
    print '{} {:.1f}'.format(i+1,a);


1 19.1
2 26.4
3 19.8
4 35.8
5 17.7
6 29.5
7 21.8
8 24.0
9 21.8
10 23.7
11 26.0
12 32.1
13 20.2
14 9.5
15 9.1
16 7.2

In [12]:
from deepthought.pylearn2ext.util import aggregate_classification
# output_file = os.path.join(path, '4', 'best' 'cache', 'test_output.pklz');
# y_real, y_pred, output = fs_util.load(output_file);
subj = 3; # 0-indexed
t_real, t_pred, t_predf, t_predp = aggregate_classification(datasets[subj].trial_partitions, y_real[subj], y_pred[subj], output[subj]);  

cm = confusion_matrix(np.hstack(t_real), np.hstack(t_pred))

shuffle_classes = LabelConverter().shuffle_classes;
cmt = np.zeros([24,24]);
for i in xrange(24):
    for j in xrange(24):
        cmt[shuffle_classes[i],shuffle_classes[j]] = cm[i,j];
cm = cmt;

filepath = os.path.join(OUTPUT_PATH, '24confusion_4_trials.pdf');
title = 'subject 4 - trials'
plot_confusion(cm, filepath=filepath, title=title, vmax=int(np.ceil(np.max(cm))));


-c:13: DeprecationWarning: using a non-integer number instead of an integer will result in an error in the future

In [13]:
from deepthought.pylearn2ext.util import aggregate_classification

cm_sum = np.zeros([24,24]);
for subj in xrange(13):
    t_real, t_pred, t_predf, t_predp = aggregate_classification(datasets[subj].trial_partitions, y_real[subj], y_pred[subj], output[subj]);  

    cm = confusion_matrix(np.hstack(t_real), np.hstack(t_pred))

    shuffle_classes = LabelConverter().shuffle_classes;
    cmt = np.zeros([24,24]);
    for i in xrange(24):
        for j in xrange(24):
            cmt[shuffle_classes[i],shuffle_classes[j]] = cm[i,j];
    cm = cmt;
    cm_sum += cm / 13.;
    
    title = 'subject {} - trials'.format(subj+1);
    plot_confusion(cm, filepath=os.path.join(OUTPUT_PATH, '24confusion_{}_trials.pdf'.format(subj+1)), title=title, vmax=1);
    plot_small_confusion(cm, filepath=os.path.join(OUTPUT_PATH, '24confusion_{}_trials_small.pdf'.format(subj+1)), title=title, vmax=1);

filepath = os.path.join(OUTPUT_PATH, '24confusion-combined_trials.pdf');
title = 'all subjects - trials'
plot_confusion(cm_sum, filepath=filepath, title=title, vmax=int(np.ceil(np.max(cm_sum))));



In [ ]: