In [1]:
import pylearn2.utils
import pylearn2.config
import theano
import neukrill_net.dense_dataset
import neukrill_net.utils
import numpy as np
%matplotlib inline
import matplotlib.pyplot as plt
import holoviews as hl
%load_ext holoviews.ipython
import sklearn.metrics


Using gpu device 0: Tesla K40c
:0: FutureWarning: IPython widgets are experimental and may change in the future.
Welcome to the HoloViews IPython extension! (http://ioam.github.io/holoviews/)
Available magics: %compositor, %opts, %params, %view, %%labels, %%opts, %%view
<matplotlib.figure.Figure at 0x7f9aede97410>
<matplotlib.figure.Figure at 0x7f9aede97dd0>
<matplotlib.figure.Figure at 0x7f9aede97bd0>

In [2]:
cd ..


/afs/inf.ed.ac.uk/user/s08/s0805516/repos/neukrill-net-work

Building the train object

The job of the YAML parser is to instantiate the train object and everything inside of it. Looking at an example YAML file:


In [3]:
!cat yaml_templates/replicate_8aug_online.yaml


!obj:pylearn2.train.Train {
    dataset: &train !obj:neukrill_net.image_directory_dataset.ListDataset {
        transformer: !obj:neukrill_net.augment.RandomAugment {
                units: 'float',
                rotate: [0,90,180,270],
                rotate_is_resizable: 0,
                flip: 1,
                resize: %(final_shape)s,
                normalise: {global_or_pixel: 'global',
                            mu: %(mu)s,
                            sigma: %(sigma)s}
            },
        settings_path: %(settings_path)s,
        run_settings_path: %(run_settings_path)s
    },
    model: !obj:pylearn2.models.mlp.MLP {
        batch_size: &batch_size 128,
        input_space: !obj:pylearn2.space.Conv2DSpace {
            shape: %(final_shape)s,
            num_channels: 1,
            axes: ['b', 0, 1, 'c'],
        },
        layers: [ !obj:pylearn2.models.mlp.ConvRectifiedLinear {
                     layer_name: h1,
                     output_channels: 48,
                     irange: .025,
                     init_bias: 0,
                     kernel_shape: [8, 8],
                     pool_shape: [2, 2],
                     pool_stride: [2, 2],
                     max_kernel_norm: 1.9365
                 },!obj:pylearn2.models.mlp.ConvRectifiedLinear {
                     layer_name: h2,
                     output_channels: 96,
                     irange: .025,
                     init_bias: 1,
                     kernel_shape: [5, 5],
                     pool_shape: [2, 2],
                     pool_stride: [2, 2],
                     max_kernel_norm: 1.9365
                 }, !obj:pylearn2.models.mlp.ConvRectifiedLinear {
                     layer_name: h3,
                     output_channels: 128,
                     irange: .025,
                     init_bias: 0,
                     kernel_shape: [3, 3],
                     border_mode: full,
                     pool_shape: [1, 1],
                     pool_stride: [1, 1],
                     max_kernel_norm: 1.9365
                 }, !obj:pylearn2.models.mlp.ConvRectifiedLinear {
                     layer_name: 'h4',
                     output_channels: 128,
                     irange: .025,
                     init_bias: 1,
                     kernel_shape: [3, 3],
                     border_mode: full,
                     pool_shape: [2, 2],
                     pool_stride: [2, 2],
                     max_kernel_norm: 1.9365
                 }, !obj:pylearn2.models.mlp.RectifiedLinear {
                     dim: 1024,
                     max_col_norm: 1.9,
                     layer_name: h5,
                     istdev: .05,
                     W_lr_scale: .25,
                     b_lr_scale: .25
                 }, !obj:pylearn2.models.mlp.Softmax {
                     n_classes: %(n_classes)i,
                     max_col_norm: 1.9365,
                     layer_name: y,
                     istdev: .05,
                     W_lr_scale: .25,
                     b_lr_scale: .25
                 }
                ],
    },
    algorithm: !obj:pylearn2.training_algorithms.sgd.SGD {
        train_iteration_mode: even_shuffled_sequential,
        monitor_iteration_mode: even_sequential,
        batch_size: *batch_size,
        learning_rate: .1,
        learning_rule: !obj:pylearn2.training_algorithms.learning_rule.Momentum {
            init_momentum: 0.5
        },
        monitoring_dataset: {
                'train': *train,
                'valid' : !obj:neukrill_net.image_directory_dataset.ListDataset {
                            transformer: !obj:neukrill_net.augment.RandomAugment {
                                units: 'float',
                                rotate: [0,90,180,270],
                                rotate_is_resizable: 0,
                                flip: 1,
                                resize: %(final_shape)s,
                                normalise: {global_or_pixel: 'global',
                                            mu: %(mu)s,
                                            sigma: %(sigma)s}
                        },
                    settings_path: %(settings_path)s,
                    run_settings_path: %(run_settings_path)s,
                    training_set_mode: "validation"
                }
        },
        cost: !obj:pylearn2.costs.cost.SumOfCosts { costs: [ 
            !obj:pylearn2.costs.mlp.dropout.Dropout {
                input_include_probs: {
                    h1 : 1.,
                    h2 : 1.,
                    h3 : 1.,
                    h4 : 1.,
                    h5 : 0.5
                },
                input_scales: {
                    h1 : 1.,
                    h2 : 1.,
                    h3 : 1.,
                    h4 : 1.,
                    h5 : 2.
                }
             },
             !obj:pylearn2.costs.mlp.WeightDecay {
                 coeffs : {
                     h1 : .00005,
                     h2 : .00005,
                     h3 : .00005,
                     h4 : .00005,
                     h5 : .00005
                 }
             }
             ]
        },
        termination_criterion: !obj:pylearn2.termination_criteria.And {
            criteria: [
                !obj:pylearn2.termination_criteria.EpochCounter {
                    max_epochs: 500
                },
            ]
        }
    },
    extensions: [
        !obj:pylearn2.training_algorithms.learning_rule.MomentumAdjustor {
            start: 1,
            saturate: 200,
            final_momentum: 0.95
        },
        !obj:pylearn2.training_algorithms.sgd.LinearDecayOverEpoch {
            start: 1,
            saturate: 200,
            decay_factor: 0.025
        },
        !obj:pylearn2.train_extensions.best_params.MonitorBasedSaveBest {
             channel_name: valid_y_misclass,
             save_path: '%(save_path)s'
        },
        !obj:pylearn2.training_algorithms.sgd.MonitorBasedLRAdjuster {
            high_trigger: 1.,
            low_trigger: 0.999,
            grow_amt: 1.012,
            shrink_amt: 0.986,
            max_lr: 0.4,
            min_lr: 1e-5,
            channel_name: valid_y_misclass
        }
    ],
    save_path: '%(alt_picklepath)s',
    save_freq: 1
}

We want to know how to build a model with parallel channels. So, we're going to look at interactively building just the model part of this specification and how it deals with different inputs. It should be possible to put the convolutional layers in parallel using a CompositeSpace as described in this post on the pylearn-users. It could be troublesome, however, supplying these layers with two data streams.

Building the model

Using the specification from above we can see how to instantiate an MLP class interactively. The obvious part we need to deal with first is the input_space. We have to define this to be a CompositeSpace (documentation for spaces). Seems like this will involve modifying the dataset class, but as long as the tuple is in the right format it shouldn't be a problem.

This post might also be useful, as they seem to be trying to do the same thing, and contains an example of how to defined the CompositeSpace. So, we should start by instantiating the CompositeSpace.


In [4]:
import pylearn2.space

In [5]:
final_shape = (48,48)

In [6]:
input_space = pylearn2.space.CompositeSpace([
    pylearn2.space.Conv2DSpace(shape=final_shape,num_channels=1,axes=['b',0,1,'c']),
    pylearn2.space.Conv2DSpace(shape=final_shape,num_channels=1,axes=['b',0,1,'c'])
    ])

Composite Layers

Up until we reach the fully connected layers we want to have different convolutional pipelines. To do this, we have to define two of these pipelines inside a CompositeLayer.


In [7]:
import pylearn2.models.mlp

First, we have to instantiate two copies of the above convolutional layers as their own MLP objects. Originally, I thought these should have an input_source to specify the inputs they take, turns out nested MLPs do not have input or target sources. Might as well store these in a dictionary:


In [8]:
convlayers = {}
for i in range(2):
    convlayers[i] = pylearn2.models.mlp.MLP(
        layer_name="convlayer_{0}".format(i),
        batch_size=128,
        layers=[pylearn2.models.mlp.ConvRectifiedLinear(
                layer_name='h1',
                output_channels=48,
                irange=0.025,
                init_bias=0,
                kernel_shape=[8,8],
                pool_shape=[2,2],
                pool_stride=[2,2],
                max_kernel_norm=1.9365
                ),
                pylearn2.models.mlp.ConvRectifiedLinear(
                layer_name='h2',
                output_channels=96,
                irange=0.025,
                init_bias=0,
                kernel_shape=[5,5],
                pool_shape=[2,2],
                pool_stride=[2,2],
                max_kernel_norm=1.9365
                ),
                pylearn2.models.mlp.ConvRectifiedLinear(
                layer_name='h3',
                output_channels=128,
                irange=0.025,
                init_bias=0,
                kernel_shape=[3,3],
                pool_shape=[2,2],
                pool_stride=[2,2],
                max_kernel_norm=1.9365
                ),
                pylearn2.models.mlp.ConvRectifiedLinear(
                layer_name='h4',
                output_channels=128,
                irange=0.025,
                init_bias=0,
                kernel_shape=[3,3],
                pool_shape=[2,2],
                pool_stride=[2,2],
                max_kernel_norm=1.9365
                )
            ]
        )

Then we can initialise our CompositeLayer with these two stacks of convolutional layers. Have to define dictionary mapping which of the inputs in the composite space supplied goes to which component of the space.


In [9]:
inputs_to_layers = {0:[0],1:[1]}
compositelayer = pylearn2.models.mlp.CompositeLayer(
                            layer_name="parallel_conv",
                            layers=[convlayers[i] for i in range(2)],
                            inputs_to_layers=inputs_to_layers)

Unfortunately, it turns out we also have to put a FlattenerLayer around this so that the output of this layer will play nicely with the fully connected layer following this:


In [10]:
flattened = pylearn2.models.mlp.FlattenerLayer(raw_layer=compositelayer)

Now we need to connect this composite layer to the rest of the network, which is a single fully connected layer and the softmax output layer. To do this, we instantiate another MLP object, in which the first layer is this composite layer. This also when we use the composite input space we defined above.


In [11]:
n_classes=121

In [12]:
main_mlp =None

In [13]:
main_mlp = pylearn2.models.mlp.MLP(
        batch_size=128,
        input_space=input_space,
        input_source=['img_1','img_2'],
        layers=[
            flattened,
            pylearn2.models.mlp.RectifiedLinear(
                dim=1024,
                max_col_norm=1.9,
                layer_name='h5',
                istdev=0.05,
                W_lr_scale=0.25,
                b_lr_scale=0.25),
            pylearn2.models.mlp.Softmax(
                n_classes=121,
                max_col_norm=1.9365,
                layer_name='y',
                istdev=0.05,
                W_lr_scale=0.25,
                b_lr_scale=0.25
            )
        ]
    )


Input shape: (48, 48)
Detector space: (41, 41)
Output space: (21, 21)
Input shape: (21, 21)
Detector space: (17, 17)
Output space: (9, 9)
Input shape: (9, 9)
Detector space: (7, 7)
Output space: (4, 4)
Input shape: (4, 4)
Detector space: (2, 2)
Output space: (1, 1)
Input shape: (48, 48)
Detector space: (41, 41)
Output space: (21, 21)
Input shape: (21, 21)
Detector space: (17, 17)
Output space: (9, 9)
Input shape: (9, 9)
Detector space: (7, 7)
Output space: (4, 4)
Input shape: (4, 4)
Detector space: (2, 2)
Output space: (1, 1)

Creating the dataset

To test this model we need a dataset that's going to supply the input data in the correct format. This should be a tuple of 4D arrays returns by the iterator in the tuple containing the input and target batches. We can create this pretty easily by just making a Dataset that inherits our old ListDataset and creates an iterator that contains two FlyIterators.


In [14]:
import neukrill_net.image_directory_dataset
import copy

In [15]:
reload(neukrill_net.image_directory_dataset)


Out[15]:
<module 'neukrill_net.image_directory_dataset' from '/afs/inf.ed.ac.uk/user/s08/s0805516/repos/neukrill-net-tools/neukrill_net/image_directory_dataset.pyc'>

In [16]:
class ParallelIterator(object):
    def __init__(self, *args, **keyargs):
        keyargs['rng'] = np.random.RandomState(42)
        self.iterator_1 = neukrill_net.image_directory_dataset.FlyIterator(*args,**keyargs)
        keyargs = copy.deepcopy(keyargs)
        keyargs['rng'] = np.random.RandomState(42)
        self.iterator_2 = neukrill_net.image_directory_dataset.FlyIterator(*args,**keyargs)
        self.stochastic=False
        self.num_examples = self.iterator_1.num_examples
        
    def __iter__(self):
        return self
    
    def next(self):
        # get a batch from both iterators:
        Xbatch1,ybatch1 = self.iterator_1.next()
        Xbatch2,ybatch2 = self.iterator_2.next()
        assert np.allclose(ybatch1,ybatch2)
        return Xbatch1,Xbatch2,ybatch1

In [17]:
class ParallelDataset(neukrill_net.image_directory_dataset.ListDataset):
    def iterator(self, mode=None, batch_size=None, num_batches=None, rng=None,
                data_specs=None, return_tuple=False):
        if not num_batches:
            num_batches = int(len(self.X)/batch_size)
        iterator = ParallelIterator(dataset=self, batch_size=batch_size,
                               num_batches=num_batches,
                               final_shape=self.run_settings["final_shape"],
                               rng=None,mode=mode)
        return iterator

In [18]:
import neukrill_net.augment
import os

In [19]:
dataset = ParallelDataset(
        transformer=neukrill_net.augment.RandomAugment(
            units='float',
            rotate=[0,90,180,270],
            rotate_is_resizable=0,
            flip=1,
            resize=final_shape,
            normalise={'global_or_pixel':'global',
                       'mu': 0.957,
                       'sigma': 0.142}
        ),
        settings_path=os.path.abspath("settings.json"),
        run_settings_path=os.path.abspath("run_settings/replicate_8aug.json"),
        force=True
    )

Testing this new dataset iterator:


In [20]:
iterator = dataset.iterator(mode='even_shuffled_sequential',batch_size=128)

In [21]:
X1,X2,y = iterator.next()

Plotting some of the images it produces side by side to make sure they're the same:


In [22]:
channels = None
for i in range(20):
    if not channels:
        channels = hl.Image(X1[i,:].squeeze(),group="Iterator 1")
        channels = hl.Image(X2[i,:].squeeze(),group="Iterator 2")
    else:
        channels += hl.Image(X1[i,:].squeeze(),group="Iterator 1")
        channels += hl.Image(X2[i,:].squeeze(),group="Iterator 2")
channels


Out[22]:

Don't know why there's a single one from Iterator 2 at the start, but otherwise seems to have worked.

Creating the rest

The rest of the train object stays the same, apart from the save path and that the algorithm will have to load one of these new ParallelDataset objects for its validation set. So, we're missing:

  • algorithm - contains validation set, which must be set up as a parallel dataset.
  • extensions - keeping these the same but changing save paths

It's worth noting that when we define the cost and the weight decay we have to address the new convolutional layers inside the composite layer.


In [23]:
import pylearn2.training_algorithms.sgd
import pylearn2.costs.mlp.dropout
import pylearn2.costs.cost
import pylearn2.termination_criteria

In [24]:
algorithm = pylearn2.training_algorithms.sgd.SGD(
        train_iteration_mode='even_shuffled_sequential',
        monitor_iteration_mode='even_sequential',
        batch_size=128,
        learning_rate=0.1,
        learning_rule= pylearn2.training_algorithms.learning_rule.Momentum(
            init_momentum=0.5
        ),
        monitoring_dataset={
            'train':dataset,
            'valid':ParallelDataset(
                transformer=neukrill_net.augment.RandomAugment(
                    units='float',
                    rotate=[0,90,180,270],
                    rotate_is_resizable=0,
                    flip=1,
                    resize=final_shape,
                    normalise={'global_or_pixel':'global',
                               'mu': 0.957,
                               'sigma': 0.142}
                ),
                settings_path=os.path.abspath("settings.json"),
                run_settings_path=os.path.abspath("run_settings/replicate_8aug.json"),
                force=True, training_set_mode='validation'
            )
        },
        cost=pylearn2.costs.cost.SumOfCosts(
            costs=[
                pylearn2.costs.mlp.dropout.Dropout(
                    input_include_probs={'h5':0.5},
                    input_scales={'h5':2.0}),
                pylearn2.costs.mlp.WeightDecay(coeffs={'parallel_conv':0.00005,
                                                'h5':0.00005})
            ]
        ),
        termination_criterion=pylearn2.termination_criteria.EpochCounter(max_epochs=500)
    )

In [25]:
import pylearn2.train_extensions
import pylearn2.train_extensions.best_params

In [26]:
extensions = [
    pylearn2.training_algorithms.learning_rule.MomentumAdjustor(
        start=1,
        saturate=200,
        final_momentum=0.95
    ),
    pylearn2.training_algorithms.sgd.LinearDecayOverEpoch(
        start=1,
        saturate=200,
        decay_factor=0.025
    ),
    pylearn2.train_extensions.best_params.MonitorBasedSaveBest(
        channel_name='valid_y_nll',
        save_path='/disk/scratch/neuroglycerin/models/parallel_interactive.pkl'
    ),
    pylearn2.training_algorithms.sgd.MonitorBasedLRAdjuster(
        high_trigger=1.0,
        low_trigger=0.999,
        grow_amt=1.012,
        shrink_amt=0.986,
        max_lr=0.4,
        min_lr=0.00005,
        channel_name='valid_y_nll'
    )
]

Assembling the full train object

We now have everything we need to make up our train object, so we can put it together and see how well it runs.


In [27]:
import pylearn2.train

In [28]:
train = pylearn2.train.Train(
    dataset=dataset,
    model=main_mlp,
    algorithm=algorithm,
    extensions=extensions,
    save_path='/disk/scratch/neuroglycerin/models/parallel_interactive_recent.pkl',
    save_freq=1
)


/afs/inf.ed.ac.uk/user/s08/s0805516/repos/pylearn2/pylearn2/train.py:85: UserWarning: dataset has no yaml src, model won't know what data it was trained on
  "data it was trained on")

We can live with that warning.

Now, attempting to run the model:


In [29]:
train.main_loop()


Parameter and initial learning rate summary:
	h1_W: 0.10000000149
	h1_b: 0.10000000149
	h2_W: 0.10000000149
	h2_b: 0.10000000149
	h3_W: 0.10000000149
	h3_b: 0.10000000149
	h4_W: 0.10000000149
	h4_b: 0.10000000149
	h1_W: 0.10000000149
	h1_b: 0.10000000149
	h2_W: 0.10000000149
	h2_b: 0.10000000149
	h3_W: 0.10000000149
	h3_b: 0.10000000149
	h4_W: 0.10000000149
	h4_b: 0.10000000149
	h5_W: 0.0250000003725
	h5_b: 0.0250000003725
	softmax_b: 0.0250000003725
	softmax_W: 0.0250000003725
Compiling sgd_update...
Compiling sgd_update done. Time elapsed: 11.324222 seconds
compiling begin_record_entry...
compiling begin_record_entry done. Time elapsed: 2.091163 seconds
Monitored channels: 
	learning_rate
	momentum
	total_seconds_last_epoch
	train_h5_col_norms_max
	train_h5_col_norms_mean
	train_h5_col_norms_min
	train_h5_max_x_max_u
	train_h5_max_x_mean_u
	train_h5_max_x_min_u
	train_h5_mean_x_max_u
	train_h5_mean_x_mean_u
	train_h5_mean_x_min_u
	train_h5_min_x_max_u
	train_h5_min_x_mean_u
	train_h5_min_x_min_u
	train_h5_range_x_max_u
	train_h5_range_x_mean_u
	train_h5_range_x_min_u
	train_h5_row_norms_max
	train_h5_row_norms_mean
	train_h5_row_norms_min
	train_objective
	train_parallel_conv_convlayer_0_h1_kernel_norms_max
	train_parallel_conv_convlayer_0_h1_kernel_norms_mean
	train_parallel_conv_convlayer_0_h1_kernel_norms_min
	train_parallel_conv_convlayer_0_h1_max_x_max_u
	train_parallel_conv_convlayer_0_h1_max_x_mean_u
	train_parallel_conv_convlayer_0_h1_max_x_min_u
	train_parallel_conv_convlayer_0_h1_mean_x_max_u
	train_parallel_conv_convlayer_0_h1_mean_x_mean_u
	train_parallel_conv_convlayer_0_h1_mean_x_min_u
	train_parallel_conv_convlayer_0_h1_min_x_max_u
	train_parallel_conv_convlayer_0_h1_min_x_mean_u
	train_parallel_conv_convlayer_0_h1_min_x_min_u
	train_parallel_conv_convlayer_0_h1_range_x_max_u
	train_parallel_conv_convlayer_0_h1_range_x_mean_u
	train_parallel_conv_convlayer_0_h1_range_x_min_u
	train_parallel_conv_convlayer_0_h2_kernel_norms_max
	train_parallel_conv_convlayer_0_h2_kernel_norms_mean
	train_parallel_conv_convlayer_0_h2_kernel_norms_min
	train_parallel_conv_convlayer_0_h2_max_x_max_u
	train_parallel_conv_convlayer_0_h2_max_x_mean_u
	train_parallel_conv_convlayer_0_h2_max_x_min_u
	train_parallel_conv_convlayer_0_h2_mean_x_max_u
	train_parallel_conv_convlayer_0_h2_mean_x_mean_u
	train_parallel_conv_convlayer_0_h2_mean_x_min_u
	train_parallel_conv_convlayer_0_h2_min_x_max_u
	train_parallel_conv_convlayer_0_h2_min_x_mean_u
	train_parallel_conv_convlayer_0_h2_min_x_min_u
	train_parallel_conv_convlayer_0_h2_range_x_max_u
	train_parallel_conv_convlayer_0_h2_range_x_mean_u
	train_parallel_conv_convlayer_0_h2_range_x_min_u
	train_parallel_conv_convlayer_0_h3_kernel_norms_max
	train_parallel_conv_convlayer_0_h3_kernel_norms_mean
	train_parallel_conv_convlayer_0_h3_kernel_norms_min
	train_parallel_conv_convlayer_0_h3_max_x_max_u
	train_parallel_conv_convlayer_0_h3_max_x_mean_u
	train_parallel_conv_convlayer_0_h3_max_x_min_u
	train_parallel_conv_convlayer_0_h3_mean_x_max_u
	train_parallel_conv_convlayer_0_h3_mean_x_mean_u
	train_parallel_conv_convlayer_0_h3_mean_x_min_u
	train_parallel_conv_convlayer_0_h3_min_x_max_u
	train_parallel_conv_convlayer_0_h3_min_x_mean_u
	train_parallel_conv_convlayer_0_h3_min_x_min_u
	train_parallel_conv_convlayer_0_h3_range_x_max_u
	train_parallel_conv_convlayer_0_h3_range_x_mean_u
	train_parallel_conv_convlayer_0_h3_range_x_min_u
	train_parallel_conv_convlayer_0_h4_kernel_norms_max
	train_parallel_conv_convlayer_0_h4_kernel_norms_mean
	train_parallel_conv_convlayer_0_h4_kernel_norms_min
	train_parallel_conv_convlayer_0_h4_max_x_max_u
	train_parallel_conv_convlayer_0_h4_max_x_mean_u
	train_parallel_conv_convlayer_0_h4_max_x_min_u
	train_parallel_conv_convlayer_0_h4_mean_x_max_u
	train_parallel_conv_convlayer_0_h4_mean_x_mean_u
	train_parallel_conv_convlayer_0_h4_mean_x_min_u
	train_parallel_conv_convlayer_0_h4_min_x_max_u
	train_parallel_conv_convlayer_0_h4_min_x_mean_u
	train_parallel_conv_convlayer_0_h4_min_x_min_u
	train_parallel_conv_convlayer_0_h4_range_x_max_u
	train_parallel_conv_convlayer_0_h4_range_x_mean_u
	train_parallel_conv_convlayer_0_h4_range_x_min_u
	train_parallel_conv_convlayer_1_h1_kernel_norms_max
	train_parallel_conv_convlayer_1_h1_kernel_norms_mean
	train_parallel_conv_convlayer_1_h1_kernel_norms_min
	train_parallel_conv_convlayer_1_h1_max_x_max_u
	train_parallel_conv_convlayer_1_h1_max_x_mean_u
	train_parallel_conv_convlayer_1_h1_max_x_min_u
	train_parallel_conv_convlayer_1_h1_mean_x_max_u
	train_parallel_conv_convlayer_1_h1_mean_x_mean_u
	train_parallel_conv_convlayer_1_h1_mean_x_min_u
	train_parallel_conv_convlayer_1_h1_min_x_max_u
	train_parallel_conv_convlayer_1_h1_min_x_mean_u
	train_parallel_conv_convlayer_1_h1_min_x_min_u
	train_parallel_conv_convlayer_1_h1_range_x_max_u
	train_parallel_conv_convlayer_1_h1_range_x_mean_u
	train_parallel_conv_convlayer_1_h1_range_x_min_u
	train_parallel_conv_convlayer_1_h2_kernel_norms_max
	train_parallel_conv_convlayer_1_h2_kernel_norms_mean
	train_parallel_conv_convlayer_1_h2_kernel_norms_min
	train_parallel_conv_convlayer_1_h2_max_x_max_u
	train_parallel_conv_convlayer_1_h2_max_x_mean_u
	train_parallel_conv_convlayer_1_h2_max_x_min_u
	train_parallel_conv_convlayer_1_h2_mean_x_max_u
	train_parallel_conv_convlayer_1_h2_mean_x_mean_u
	train_parallel_conv_convlayer_1_h2_mean_x_min_u
	train_parallel_conv_convlayer_1_h2_min_x_max_u
	train_parallel_conv_convlayer_1_h2_min_x_mean_u
	train_parallel_conv_convlayer_1_h2_min_x_min_u
	train_parallel_conv_convlayer_1_h2_range_x_max_u
	train_parallel_conv_convlayer_1_h2_range_x_mean_u
	train_parallel_conv_convlayer_1_h2_range_x_min_u
	train_parallel_conv_convlayer_1_h3_kernel_norms_max
	train_parallel_conv_convlayer_1_h3_kernel_norms_mean
	train_parallel_conv_convlayer_1_h3_kernel_norms_min
	train_parallel_conv_convlayer_1_h3_max_x_max_u
	train_parallel_conv_convlayer_1_h3_max_x_mean_u
	train_parallel_conv_convlayer_1_h3_max_x_min_u
	train_parallel_conv_convlayer_1_h3_mean_x_max_u
	train_parallel_conv_convlayer_1_h3_mean_x_mean_u
	train_parallel_conv_convlayer_1_h3_mean_x_min_u
	train_parallel_conv_convlayer_1_h3_min_x_max_u
	train_parallel_conv_convlayer_1_h3_min_x_mean_u
	train_parallel_conv_convlayer_1_h3_min_x_min_u
	train_parallel_conv_convlayer_1_h3_range_x_max_u
	train_parallel_conv_convlayer_1_h3_range_x_mean_u
	train_parallel_conv_convlayer_1_h3_range_x_min_u
	train_parallel_conv_convlayer_1_h4_kernel_norms_max
	train_parallel_conv_convlayer_1_h4_kernel_norms_mean
	train_parallel_conv_convlayer_1_h4_kernel_norms_min
	train_parallel_conv_convlayer_1_h4_max_x_max_u
	train_parallel_conv_convlayer_1_h4_max_x_mean_u
	train_parallel_conv_convlayer_1_h4_max_x_min_u
	train_parallel_conv_convlayer_1_h4_mean_x_max_u
	train_parallel_conv_convlayer_1_h4_mean_x_mean_u
	train_parallel_conv_convlayer_1_h4_mean_x_min_u
	train_parallel_conv_convlayer_1_h4_min_x_max_u
	train_parallel_conv_convlayer_1_h4_min_x_mean_u
	train_parallel_conv_convlayer_1_h4_min_x_min_u
	train_parallel_conv_convlayer_1_h4_range_x_max_u
	train_parallel_conv_convlayer_1_h4_range_x_mean_u
	train_parallel_conv_convlayer_1_h4_range_x_min_u
	train_term_0
	train_term_1_weight_decay
	train_y_col_norms_max
	train_y_col_norms_mean
	train_y_col_norms_min
	train_y_max_max_class
	train_y_mean_max_class
	train_y_min_max_class
	train_y_misclass
	train_y_nll
	train_y_row_norms_max
	train_y_row_norms_mean
	train_y_row_norms_min
	training_seconds_this_epoch
	valid_h5_col_norms_max
	valid_h5_col_norms_mean
	valid_h5_col_norms_min
	valid_h5_max_x_max_u
	valid_h5_max_x_mean_u
	valid_h5_max_x_min_u
	valid_h5_mean_x_max_u
	valid_h5_mean_x_mean_u
	valid_h5_mean_x_min_u
	valid_h5_min_x_max_u
	valid_h5_min_x_mean_u
	valid_h5_min_x_min_u
	valid_h5_range_x_max_u
	valid_h5_range_x_mean_u
	valid_h5_range_x_min_u
	valid_h5_row_norms_max
	valid_h5_row_norms_mean
	valid_h5_row_norms_min
	valid_objective
	valid_parallel_conv_convlayer_0_h1_kernel_norms_max
	valid_parallel_conv_convlayer_0_h1_kernel_norms_mean
	valid_parallel_conv_convlayer_0_h1_kernel_norms_min
	valid_parallel_conv_convlayer_0_h1_max_x_max_u
	valid_parallel_conv_convlayer_0_h1_max_x_mean_u
	valid_parallel_conv_convlayer_0_h1_max_x_min_u
	valid_parallel_conv_convlayer_0_h1_mean_x_max_u
	valid_parallel_conv_convlayer_0_h1_mean_x_mean_u
	valid_parallel_conv_convlayer_0_h1_mean_x_min_u
	valid_parallel_conv_convlayer_0_h1_min_x_max_u
	valid_parallel_conv_convlayer_0_h1_min_x_mean_u
	valid_parallel_conv_convlayer_0_h1_min_x_min_u
	valid_parallel_conv_convlayer_0_h1_range_x_max_u
	valid_parallel_conv_convlayer_0_h1_range_x_mean_u
	valid_parallel_conv_convlayer_0_h1_range_x_min_u
	valid_parallel_conv_convlayer_0_h2_kernel_norms_max
	valid_parallel_conv_convlayer_0_h2_kernel_norms_mean
	valid_parallel_conv_convlayer_0_h2_kernel_norms_min
	valid_parallel_conv_convlayer_0_h2_max_x_max_u
	valid_parallel_conv_convlayer_0_h2_max_x_mean_u
	valid_parallel_conv_convlayer_0_h2_max_x_min_u
	valid_parallel_conv_convlayer_0_h2_mean_x_max_u
	valid_parallel_conv_convlayer_0_h2_mean_x_mean_u
	valid_parallel_conv_convlayer_0_h2_mean_x_min_u
	valid_parallel_conv_convlayer_0_h2_min_x_max_u
	valid_parallel_conv_convlayer_0_h2_min_x_mean_u
	valid_parallel_conv_convlayer_0_h2_min_x_min_u
	valid_parallel_conv_convlayer_0_h2_range_x_max_u
	valid_parallel_conv_convlayer_0_h2_range_x_mean_u
	valid_parallel_conv_convlayer_0_h2_range_x_min_u
	valid_parallel_conv_convlayer_0_h3_kernel_norms_max
	valid_parallel_conv_convlayer_0_h3_kernel_norms_mean
	valid_parallel_conv_convlayer_0_h3_kernel_norms_min
	valid_parallel_conv_convlayer_0_h3_max_x_max_u
	valid_parallel_conv_convlayer_0_h3_max_x_mean_u
	valid_parallel_conv_convlayer_0_h3_max_x_min_u
	valid_parallel_conv_convlayer_0_h3_mean_x_max_u
	valid_parallel_conv_convlayer_0_h3_mean_x_mean_u
	valid_parallel_conv_convlayer_0_h3_mean_x_min_u
	valid_parallel_conv_convlayer_0_h3_min_x_max_u
	valid_parallel_conv_convlayer_0_h3_min_x_mean_u
	valid_parallel_conv_convlayer_0_h3_min_x_min_u
	valid_parallel_conv_convlayer_0_h3_range_x_max_u
	valid_parallel_conv_convlayer_0_h3_range_x_mean_u
	valid_parallel_conv_convlayer_0_h3_range_x_min_u
	valid_parallel_conv_convlayer_0_h4_kernel_norms_max
	valid_parallel_conv_convlayer_0_h4_kernel_norms_mean
	valid_parallel_conv_convlayer_0_h4_kernel_norms_min
	valid_parallel_conv_convlayer_0_h4_max_x_max_u
	valid_parallel_conv_convlayer_0_h4_max_x_mean_u
	valid_parallel_conv_convlayer_0_h4_max_x_min_u
	valid_parallel_conv_convlayer_0_h4_mean_x_max_u
	valid_parallel_conv_convlayer_0_h4_mean_x_mean_u
	valid_parallel_conv_convlayer_0_h4_mean_x_min_u
	valid_parallel_conv_convlayer_0_h4_min_x_max_u
	valid_parallel_conv_convlayer_0_h4_min_x_mean_u
	valid_parallel_conv_convlayer_0_h4_min_x_min_u
	valid_parallel_conv_convlayer_0_h4_range_x_max_u
	valid_parallel_conv_convlayer_0_h4_range_x_mean_u
	valid_parallel_conv_convlayer_0_h4_range_x_min_u
	valid_parallel_conv_convlayer_1_h1_kernel_norms_max
	valid_parallel_conv_convlayer_1_h1_kernel_norms_mean
	valid_parallel_conv_convlayer_1_h1_kernel_norms_min
	valid_parallel_conv_convlayer_1_h1_max_x_max_u
	valid_parallel_conv_convlayer_1_h1_max_x_mean_u
	valid_parallel_conv_convlayer_1_h1_max_x_min_u
	valid_parallel_conv_convlayer_1_h1_mean_x_max_u
	valid_parallel_conv_convlayer_1_h1_mean_x_mean_u
	valid_parallel_conv_convlayer_1_h1_mean_x_min_u
	valid_parallel_conv_convlayer_1_h1_min_x_max_u
	valid_parallel_conv_convlayer_1_h1_min_x_mean_u
	valid_parallel_conv_convlayer_1_h1_min_x_min_u
	valid_parallel_conv_convlayer_1_h1_range_x_max_u
	valid_parallel_conv_convlayer_1_h1_range_x_mean_u
	valid_parallel_conv_convlayer_1_h1_range_x_min_u
	valid_parallel_conv_convlayer_1_h2_kernel_norms_max
	valid_parallel_conv_convlayer_1_h2_kernel_norms_mean
	valid_parallel_conv_convlayer_1_h2_kernel_norms_min
	valid_parallel_conv_convlayer_1_h2_max_x_max_u
	valid_parallel_conv_convlayer_1_h2_max_x_mean_u
	valid_parallel_conv_convlayer_1_h2_max_x_min_u
	valid_parallel_conv_convlayer_1_h2_mean_x_max_u
	valid_parallel_conv_convlayer_1_h2_mean_x_mean_u
	valid_parallel_conv_convlayer_1_h2_mean_x_min_u
	valid_parallel_conv_convlayer_1_h2_min_x_max_u
	valid_parallel_conv_convlayer_1_h2_min_x_mean_u
	valid_parallel_conv_convlayer_1_h2_min_x_min_u
	valid_parallel_conv_convlayer_1_h2_range_x_max_u
	valid_parallel_conv_convlayer_1_h2_range_x_mean_u
	valid_parallel_conv_convlayer_1_h2_range_x_min_u
	valid_parallel_conv_convlayer_1_h3_kernel_norms_max
	valid_parallel_conv_convlayer_1_h3_kernel_norms_mean
	valid_parallel_conv_convlayer_1_h3_kernel_norms_min
	valid_parallel_conv_convlayer_1_h3_max_x_max_u
	valid_parallel_conv_convlayer_1_h3_max_x_mean_u
	valid_parallel_conv_convlayer_1_h3_max_x_min_u
	valid_parallel_conv_convlayer_1_h3_mean_x_max_u
	valid_parallel_conv_convlayer_1_h3_mean_x_mean_u
	valid_parallel_conv_convlayer_1_h3_mean_x_min_u
	valid_parallel_conv_convlayer_1_h3_min_x_max_u
	valid_parallel_conv_convlayer_1_h3_min_x_mean_u
	valid_parallel_conv_convlayer_1_h3_min_x_min_u
	valid_parallel_conv_convlayer_1_h3_range_x_max_u
	valid_parallel_conv_convlayer_1_h3_range_x_mean_u
	valid_parallel_conv_convlayer_1_h3_range_x_min_u
	valid_parallel_conv_convlayer_1_h4_kernel_norms_max
	valid_parallel_conv_convlayer_1_h4_kernel_norms_mean
	valid_parallel_conv_convlayer_1_h4_kernel_norms_min
	valid_parallel_conv_convlayer_1_h4_max_x_max_u
	valid_parallel_conv_convlayer_1_h4_max_x_mean_u
	valid_parallel_conv_convlayer_1_h4_max_x_min_u
	valid_parallel_conv_convlayer_1_h4_mean_x_max_u
	valid_parallel_conv_convlayer_1_h4_mean_x_mean_u
	valid_parallel_conv_convlayer_1_h4_mean_x_min_u
	valid_parallel_conv_convlayer_1_h4_min_x_max_u
	valid_parallel_conv_convlayer_1_h4_min_x_mean_u
	valid_parallel_conv_convlayer_1_h4_min_x_min_u
	valid_parallel_conv_convlayer_1_h4_range_x_max_u
	valid_parallel_conv_convlayer_1_h4_range_x_mean_u
	valid_parallel_conv_convlayer_1_h4_range_x_min_u
	valid_term_0
	valid_term_1_weight_decay
	valid_y_col_norms_max
	valid_y_col_norms_mean
	valid_y_col_norms_min
	valid_y_max_max_class
	valid_y_mean_max_class
	valid_y_min_max_class
	valid_y_misclass
	valid_y_nll
	valid_y_row_norms_max
	valid_y_row_norms_mean
	valid_y_row_norms_min
Compiling accum...
ERROR (theano.gof.opt): SeqOptimizer apply MergeOptimizer
ERROR:theano.gof.opt:SeqOptimizer apply MergeOptimizer
ERROR (theano.gof.opt): Traceback:
ERROR:theano.gof.opt:Traceback:
ERROR (theano.gof.opt): Traceback (most recent call last):
  File "/afs/inf.ed.ac.uk/user/s08/s0805516/repos/Theano/theano/gof/opt.py", line 195, in apply
    sub_prof = optimizer.optimize(fgraph)
  File "/afs/inf.ed.ac.uk/user/s08/s0805516/repos/Theano/theano/gof/opt.py", line 81, in optimize
    ret = self.apply(fgraph, *args, **kwargs)
  File "/afs/inf.ed.ac.uk/user/s08/s0805516/repos/Theano/theano/gof/opt.py", line 621, in apply
    fgraph.replace_all_validate(pairs, 'MergeOptimizer')
  File "/afs/inf.ed.ac.uk/user/s08/s0805516/repos/Theano/theano/gof/toolbox.py", line 258, in replace_all_validate
    fgraph.replace(r, new_r, reason=reason, verbose=False)
  File "/afs/inf.ed.ac.uk/user/s08/s0805516/repos/Theano/theano/gof/fg.py", line 467, in replace
    raise TypeError("The type of the replacement must be the same as the type of the original Variable.", r, new_r, r.type, new_r.type, str(reason))
TypeError: ('The type of the replacement must be the same as the type of the original Variable.', GpuReshape{4}.0, GpuReshape{4}.0, CudaNdarrayType(float32, 4D), CudaNdarrayType(float32, (False, False, True, True)), 'MergeOptimizer')

ERROR:theano.gof.opt:Traceback (most recent call last):
  File "/afs/inf.ed.ac.uk/user/s08/s0805516/repos/Theano/theano/gof/opt.py", line 195, in apply
    sub_prof = optimizer.optimize(fgraph)
  File "/afs/inf.ed.ac.uk/user/s08/s0805516/repos/Theano/theano/gof/opt.py", line 81, in optimize
    ret = self.apply(fgraph, *args, **kwargs)
  File "/afs/inf.ed.ac.uk/user/s08/s0805516/repos/Theano/theano/gof/opt.py", line 621, in apply
    fgraph.replace_all_validate(pairs, 'MergeOptimizer')
  File "/afs/inf.ed.ac.uk/user/s08/s0805516/repos/Theano/theano/gof/toolbox.py", line 258, in replace_all_validate
    fgraph.replace(r, new_r, reason=reason, verbose=False)
  File "/afs/inf.ed.ac.uk/user/s08/s0805516/repos/Theano/theano/gof/fg.py", line 467, in replace
    raise TypeError("The type of the replacement must be the same as the type of the original Variable.", r, new_r, r.type, new_r.type, str(reason))
TypeError: ('The type of the replacement must be the same as the type of the original Variable.', GpuReshape{4}.0, GpuReshape{4}.0, CudaNdarrayType(float32, 4D), CudaNdarrayType(float32, (False, False, True, True)), 'MergeOptimizer')

ERROR (theano.gof.opt): SeqOptimizer apply <theano.gof.opt.EquilibriumOptimizer object at 0x7f9ac9e2a0d0>
ERROR:theano.gof.opt:SeqOptimizer apply <theano.gof.opt.EquilibriumOptimizer object at 0x7f9ac9e2a0d0>
ERROR (theano.gof.opt): Traceback:
ERROR:theano.gof.opt:Traceback:
ERROR (theano.gof.opt): Traceback (most recent call last):
  File "/afs/inf.ed.ac.uk/user/s08/s0805516/repos/Theano/theano/gof/opt.py", line 195, in apply
    sub_prof = optimizer.optimize(fgraph)
  File "/afs/inf.ed.ac.uk/user/s08/s0805516/repos/Theano/theano/gof/opt.py", line 81, in optimize
    ret = self.apply(fgraph, *args, **kwargs)
  File "/afs/inf.ed.ac.uk/user/s08/s0805516/repos/Theano/theano/gof/opt.py", line 1785, in apply
    gopt.apply(fgraph)
  File "/afs/inf.ed.ac.uk/user/s08/s0805516/repos/Theano/theano/gof/opt.py", line 621, in apply
    fgraph.replace_all_validate(pairs, 'MergeOptimizer')
  File "/afs/inf.ed.ac.uk/user/s08/s0805516/repos/Theano/theano/gof/toolbox.py", line 258, in replace_all_validate
    fgraph.replace(r, new_r, reason=reason, verbose=False)
  File "/afs/inf.ed.ac.uk/user/s08/s0805516/repos/Theano/theano/gof/fg.py", line 467, in replace
    raise TypeError("The type of the replacement must be the same as the type of the original Variable.", r, new_r, r.type, new_r.type, str(reason))
TypeError: ('The type of the replacement must be the same as the type of the original Variable.', GpuReshape{4}.0, GpuReshape{4}.0, CudaNdarrayType(float32, 4D), CudaNdarrayType(float32, (False, False, True, True)), 'MergeOptimizer')

ERROR:theano.gof.opt:Traceback (most recent call last):
  File "/afs/inf.ed.ac.uk/user/s08/s0805516/repos/Theano/theano/gof/opt.py", line 195, in apply
    sub_prof = optimizer.optimize(fgraph)
  File "/afs/inf.ed.ac.uk/user/s08/s0805516/repos/Theano/theano/gof/opt.py", line 81, in optimize
    ret = self.apply(fgraph, *args, **kwargs)
  File "/afs/inf.ed.ac.uk/user/s08/s0805516/repos/Theano/theano/gof/opt.py", line 1785, in apply
    gopt.apply(fgraph)
  File "/afs/inf.ed.ac.uk/user/s08/s0805516/repos/Theano/theano/gof/opt.py", line 621, in apply
    fgraph.replace_all_validate(pairs, 'MergeOptimizer')
  File "/afs/inf.ed.ac.uk/user/s08/s0805516/repos/Theano/theano/gof/toolbox.py", line 258, in replace_all_validate
    fgraph.replace(r, new_r, reason=reason, verbose=False)
  File "/afs/inf.ed.ac.uk/user/s08/s0805516/repos/Theano/theano/gof/fg.py", line 467, in replace
    raise TypeError("The type of the replacement must be the same as the type of the original Variable.", r, new_r, r.type, new_r.type, str(reason))
TypeError: ('The type of the replacement must be the same as the type of the original Variable.', GpuReshape{4}.0, GpuReshape{4}.0, CudaNdarrayType(float32, 4D), CudaNdarrayType(float32, (False, False, True, True)), 'MergeOptimizer')

ERROR (theano.gof.opt): SeqOptimizer apply MergeOptimizer
ERROR:theano.gof.opt:SeqOptimizer apply MergeOptimizer
ERROR (theano.gof.opt): Traceback:
ERROR:theano.gof.opt:Traceback:
ERROR (theano.gof.opt): Traceback (most recent call last):
  File "/afs/inf.ed.ac.uk/user/s08/s0805516/repos/Theano/theano/gof/opt.py", line 195, in apply
    sub_prof = optimizer.optimize(fgraph)
  File "/afs/inf.ed.ac.uk/user/s08/s0805516/repos/Theano/theano/gof/opt.py", line 81, in optimize
    ret = self.apply(fgraph, *args, **kwargs)
  File "/afs/inf.ed.ac.uk/user/s08/s0805516/repos/Theano/theano/gof/opt.py", line 621, in apply
    fgraph.replace_all_validate(pairs, 'MergeOptimizer')
  File "/afs/inf.ed.ac.uk/user/s08/s0805516/repos/Theano/theano/gof/toolbox.py", line 258, in replace_all_validate
    fgraph.replace(r, new_r, reason=reason, verbose=False)
  File "/afs/inf.ed.ac.uk/user/s08/s0805516/repos/Theano/theano/gof/fg.py", line 467, in replace
    raise TypeError("The type of the replacement must be the same as the type of the original Variable.", r, new_r, r.type, new_r.type, str(reason))
TypeError: ('The type of the replacement must be the same as the type of the original Variable.', GpuReshape{4}.0, GpuReshape{4}.0, CudaNdarrayType(float32, 4D), CudaNdarrayType(float32, (False, False, True, True)), 'MergeOptimizer')

ERROR:theano.gof.opt:Traceback (most recent call last):
  File "/afs/inf.ed.ac.uk/user/s08/s0805516/repos/Theano/theano/gof/opt.py", line 195, in apply
    sub_prof = optimizer.optimize(fgraph)
  File "/afs/inf.ed.ac.uk/user/s08/s0805516/repos/Theano/theano/gof/opt.py", line 81, in optimize
    ret = self.apply(fgraph, *args, **kwargs)
  File "/afs/inf.ed.ac.uk/user/s08/s0805516/repos/Theano/theano/gof/opt.py", line 621, in apply
    fgraph.replace_all_validate(pairs, 'MergeOptimizer')
  File "/afs/inf.ed.ac.uk/user/s08/s0805516/repos/Theano/theano/gof/toolbox.py", line 258, in replace_all_validate
    fgraph.replace(r, new_r, reason=reason, verbose=False)
  File "/afs/inf.ed.ac.uk/user/s08/s0805516/repos/Theano/theano/gof/fg.py", line 467, in replace
    raise TypeError("The type of the replacement must be the same as the type of the original Variable.", r, new_r, r.type, new_r.type, str(reason))
TypeError: ('The type of the replacement must be the same as the type of the original Variable.', GpuReshape{4}.0, GpuReshape{4}.0, CudaNdarrayType(float32, 4D), CudaNdarrayType(float32, (False, False, True, True)), 'MergeOptimizer')

ERROR (theano.gof.opt): SeqOptimizer apply <theano.gof.opt.EquilibriumOptimizer object at 0x7f9abca96810>
ERROR:theano.gof.opt:SeqOptimizer apply <theano.gof.opt.EquilibriumOptimizer object at 0x7f9abca96810>
ERROR (theano.gof.opt): Traceback:
ERROR:theano.gof.opt:Traceback:
ERROR (theano.gof.opt): Traceback (most recent call last):
  File "/afs/inf.ed.ac.uk/user/s08/s0805516/repos/Theano/theano/gof/opt.py", line 195, in apply
    sub_prof = optimizer.optimize(fgraph)
  File "/afs/inf.ed.ac.uk/user/s08/s0805516/repos/Theano/theano/gof/opt.py", line 81, in optimize
    ret = self.apply(fgraph, *args, **kwargs)
  File "/afs/inf.ed.ac.uk/user/s08/s0805516/repos/Theano/theano/gof/opt.py", line 1785, in apply
    gopt.apply(fgraph)
  File "/afs/inf.ed.ac.uk/user/s08/s0805516/repos/Theano/theano/gof/opt.py", line 621, in apply
    fgraph.replace_all_validate(pairs, 'MergeOptimizer')
  File "/afs/inf.ed.ac.uk/user/s08/s0805516/repos/Theano/theano/gof/toolbox.py", line 258, in replace_all_validate
    fgraph.replace(r, new_r, reason=reason, verbose=False)
  File "/afs/inf.ed.ac.uk/user/s08/s0805516/repos/Theano/theano/gof/fg.py", line 467, in replace
    raise TypeError("The type of the replacement must be the same as the type of the original Variable.", r, new_r, r.type, new_r.type, str(reason))
TypeError: ('The type of the replacement must be the same as the type of the original Variable.', GpuReshape{4}.0, GpuReshape{4}.0, CudaNdarrayType(float32, 4D), CudaNdarrayType(float32, (False, False, True, True)), 'MergeOptimizer')

ERROR:theano.gof.opt:Traceback (most recent call last):
  File "/afs/inf.ed.ac.uk/user/s08/s0805516/repos/Theano/theano/gof/opt.py", line 195, in apply
    sub_prof = optimizer.optimize(fgraph)
  File "/afs/inf.ed.ac.uk/user/s08/s0805516/repos/Theano/theano/gof/opt.py", line 81, in optimize
    ret = self.apply(fgraph, *args, **kwargs)
  File "/afs/inf.ed.ac.uk/user/s08/s0805516/repos/Theano/theano/gof/opt.py", line 1785, in apply
    gopt.apply(fgraph)
  File "/afs/inf.ed.ac.uk/user/s08/s0805516/repos/Theano/theano/gof/opt.py", line 621, in apply
    fgraph.replace_all_validate(pairs, 'MergeOptimizer')
  File "/afs/inf.ed.ac.uk/user/s08/s0805516/repos/Theano/theano/gof/toolbox.py", line 258, in replace_all_validate
    fgraph.replace(r, new_r, reason=reason, verbose=False)
  File "/afs/inf.ed.ac.uk/user/s08/s0805516/repos/Theano/theano/gof/fg.py", line 467, in replace
    raise TypeError("The type of the replacement must be the same as the type of the original Variable.", r, new_r, r.type, new_r.type, str(reason))
TypeError: ('The type of the replacement must be the same as the type of the original Variable.', GpuReshape{4}.0, GpuReshape{4}.0, CudaNdarrayType(float32, 4D), CudaNdarrayType(float32, (False, False, True, True)), 'MergeOptimizer')

graph size: 1158
graph size: 1154
Compiling accum done. Time elapsed: 0:01:04.146942
Monitoring step:
	Epochs seen: 0
	Batches seen: 0
	Examples seen: 0
	learning_rate: 0.100000113249
	momentum: 0.49999922514
	total_seconds_last_epoch: 0.0
	train_h5_col_norms_max: 0.899228215218
	train_h5_col_norms_mean: 0.799151003361
	train_h5_col_norms_min: 0.698729097843
	train_h5_max_x_max_u: 0.0475132316351
	train_h5_max_x_mean_u: 0.00929783005267
	train_h5_max_x_min_u: 0.0
	train_h5_mean_x_max_u: 0.0284981485456
	train_h5_mean_x_mean_u: 0.0038538640365
	train_h5_mean_x_min_u: 0.0
	train_h5_min_x_max_u: 0.0127027221024
	train_h5_min_x_mean_u: 0.000834370497614
	train_h5_min_x_min_u: 0.0
	train_h5_range_x_max_u: 0.0374712385237
	train_h5_range_x_mean_u: 0.00846346281469
	train_h5_range_x_min_u: 0.0
	train_h5_row_norms_max: 1.68889701366
	train_h5_row_norms_mean: 1.59945118427
	train_h5_row_norms_min: 1.51121270657
	train_objective: 4.83721733093
	train_parallel_conv_convlayer_0_h1_kernel_norms_max: 0.127521842718
	train_parallel_conv_convlayer_0_h1_kernel_norms_mean: 0.114065259695
	train_parallel_conv_convlayer_0_h1_kernel_norms_min: 0.102951958776
	train_parallel_conv_convlayer_0_h1_max_x_max_u: 1.39545881748
	train_parallel_conv_convlayer_0_h1_max_x_mean_u: 0.282851099968
	train_parallel_conv_convlayer_0_h1_max_x_min_u: 0.0030705826357
	train_parallel_conv_convlayer_0_h1_mean_x_max_u: 0.535210072994
	train_parallel_conv_convlayer_0_h1_mean_x_mean_u: 0.0451854169369
	train_parallel_conv_convlayer_0_h1_mean_x_min_u: 0.000248347932938
	train_parallel_conv_convlayer_0_h1_min_x_max_u: 0.0866171121597
	train_parallel_conv_convlayer_0_h1_min_x_mean_u: 0.00127937702928
	train_parallel_conv_convlayer_0_h1_min_x_min_u: 0.0
	train_parallel_conv_convlayer_0_h1_range_x_max_u: 1.39241743088
	train_parallel_conv_convlayer_0_h1_range_x_mean_u: 0.281571686268
	train_parallel_conv_convlayer_0_h1_range_x_min_u: 0.0030705826357
	train_parallel_conv_convlayer_0_h2_kernel_norms_max: 0.513461410999
	train_parallel_conv_convlayer_0_h2_kernel_norms_mean: 0.501124739647
	train_parallel_conv_convlayer_0_h2_kernel_norms_min: 0.48504909873
	train_parallel_conv_convlayer_0_h2_max_x_max_u: 0.506728827953
	train_parallel_conv_convlayer_0_h2_max_x_mean_u: 0.126975402236
	train_parallel_conv_convlayer_0_h2_max_x_min_u: 0.0
	train_parallel_conv_convlayer_0_h2_mean_x_max_u: 0.235468417406
	train_parallel_conv_convlayer_0_h2_mean_x_mean_u: 0.0276460647583
	train_parallel_conv_convlayer_0_h2_mean_x_min_u: 0.0
	train_parallel_conv_convlayer_0_h2_min_x_max_u: 0.0602164268494
	train_parallel_conv_convlayer_0_h2_min_x_mean_u: 0.00115216278937
	train_parallel_conv_convlayer_0_h2_min_x_min_u: 0.0
	train_parallel_conv_convlayer_0_h2_range_x_max_u: 0.501688122749
	train_parallel_conv_convlayer_0_h2_range_x_mean_u: 0.125823259354
	train_parallel_conv_convlayer_0_h2_range_x_min_u: 0.0
	train_parallel_conv_convlayer_0_h3_kernel_norms_max: 0.439075142145
	train_parallel_conv_convlayer_0_h3_kernel_norms_mean: 0.425010442734
	train_parallel_conv_convlayer_0_h3_kernel_norms_min: 0.406114637852
	train_parallel_conv_convlayer_0_h3_max_x_max_u: 0.163194164634
	train_parallel_conv_convlayer_0_h3_max_x_mean_u: 0.0407284386456
	train_parallel_conv_convlayer_0_h3_max_x_min_u: 0.0
	train_parallel_conv_convlayer_0_h3_mean_x_max_u: 0.0890604779124
	train_parallel_conv_convlayer_0_h3_mean_x_mean_u: 0.0122517077252
	train_parallel_conv_convlayer_0_h3_mean_x_min_u: 0.0
	train_parallel_conv_convlayer_0_h3_min_x_max_u: 0.030943678692
	train_parallel_conv_convlayer_0_h3_min_x_mean_u: 0.0011246035574
	train_parallel_conv_convlayer_0_h3_min_x_min_u: 0.0
	train_parallel_conv_convlayer_0_h3_range_x_max_u: 0.15373532474
	train_parallel_conv_convlayer_0_h3_range_x_mean_u: 0.0396038554609
	train_parallel_conv_convlayer_0_h3_range_x_min_u: 0.0
	train_parallel_conv_convlayer_0_h4_kernel_norms_max: 0.501794576645
	train_parallel_conv_convlayer_0_h4_kernel_norms_mean: 0.489565014839
	train_parallel_conv_convlayer_0_h4_kernel_norms_min: 0.468979150057
	train_parallel_conv_convlayer_0_h4_max_x_max_u: 0.0562569312751
	train_parallel_conv_convlayer_0_h4_max_x_mean_u: 0.0180198736489
	train_parallel_conv_convlayer_0_h4_max_x_min_u: 0.0
	train_parallel_conv_convlayer_0_h4_mean_x_max_u: 0.032963167876
	train_parallel_conv_convlayer_0_h4_mean_x_mean_u: 0.00789148826152
	train_parallel_conv_convlayer_0_h4_mean_x_min_u: 0.0
	train_parallel_conv_convlayer_0_h4_min_x_max_u: 0.0147683909163
	train_parallel_conv_convlayer_0_h4_min_x_mean_u: 0.00186977838166
	train_parallel_conv_convlayer_0_h4_min_x_min_u: 0.0
	train_parallel_conv_convlayer_0_h4_range_x_max_u: 0.046906132251
	train_parallel_conv_convlayer_0_h4_range_x_mean_u: 0.0161500908434
	train_parallel_conv_convlayer_0_h4_range_x_min_u: 0.0
	train_parallel_conv_convlayer_1_h1_kernel_norms_max: 0.134173855186
	train_parallel_conv_convlayer_1_h1_kernel_norms_mean: 0.115739390254
	train_parallel_conv_convlayer_1_h1_kernel_norms_min: 0.101580828428
	train_parallel_conv_convlayer_1_h1_max_x_max_u: 1.57272267342
	train_parallel_conv_convlayer_1_h1_max_x_mean_u: 0.327420532703
	train_parallel_conv_convlayer_1_h1_max_x_min_u: 0.00248197116889
	train_parallel_conv_convlayer_1_h1_mean_x_max_u: 0.613493800163
	train_parallel_conv_convlayer_1_h1_mean_x_mean_u: 0.0487066581845
	train_parallel_conv_convlayer_1_h1_mean_x_min_u: 0.000184285963769
	train_parallel_conv_convlayer_1_h1_min_x_max_u: 0.111904859543
	train_parallel_conv_convlayer_1_h1_min_x_mean_u: 0.000898561207578
	train_parallel_conv_convlayer_1_h1_min_x_min_u: 0.0
	train_parallel_conv_convlayer_1_h1_range_x_max_u: 1.5672352314
	train_parallel_conv_convlayer_1_h1_range_x_mean_u: 0.326521784067
	train_parallel_conv_convlayer_1_h1_range_x_min_u: 0.00248197116889
	train_parallel_conv_convlayer_1_h2_kernel_norms_max: 0.515480697155
	train_parallel_conv_convlayer_1_h2_kernel_norms_mean: 0.501338541508
	train_parallel_conv_convlayer_1_h2_kernel_norms_min: 0.477708637714
	train_parallel_conv_convlayer_1_h2_max_x_max_u: 0.557621538639
	train_parallel_conv_convlayer_1_h2_max_x_mean_u: 0.151314437389
	train_parallel_conv_convlayer_1_h2_max_x_min_u: 0.0
	train_parallel_conv_convlayer_1_h2_mean_x_max_u: 0.24759978056
	train_parallel_conv_convlayer_1_h2_mean_x_mean_u: 0.0342446379364
	train_parallel_conv_convlayer_1_h2_mean_x_min_u: 0.0
	train_parallel_conv_convlayer_1_h2_min_x_max_u: 0.0701531097293
	train_parallel_conv_convlayer_1_h2_min_x_mean_u: 0.00156809273176
	train_parallel_conv_convlayer_1_h2_min_x_min_u: 0.0
	train_parallel_conv_convlayer_1_h2_range_x_max_u: 0.547883689404
	train_parallel_conv_convlayer_1_h2_range_x_mean_u: 0.149746328592
	train_parallel_conv_convlayer_1_h2_range_x_min_u: 0.0
	train_parallel_conv_convlayer_1_h3_kernel_norms_max: 0.44128921628
	train_parallel_conv_convlayer_1_h3_kernel_norms_mean: 0.425100564957
	train_parallel_conv_convlayer_1_h3_kernel_norms_min: 0.406872034073
	train_parallel_conv_convlayer_1_h3_max_x_max_u: 0.223389104009
	train_parallel_conv_convlayer_1_h3_max_x_mean_u: 0.0545563176274
	train_parallel_conv_convlayer_1_h3_max_x_min_u: 0.0
	train_parallel_conv_convlayer_1_h3_mean_x_max_u: 0.125657886267
	train_parallel_conv_convlayer_1_h3_mean_x_mean_u: 0.0170852653682
	train_parallel_conv_convlayer_1_h3_mean_x_min_u: 0.0
	train_parallel_conv_convlayer_1_h3_min_x_max_u: 0.043653845787
	train_parallel_conv_convlayer_1_h3_min_x_mean_u: 0.00162408140022
	train_parallel_conv_convlayer_1_h3_min_x_min_u: 0.0
	train_parallel_conv_convlayer_1_h3_range_x_max_u: 0.204979717731
	train_parallel_conv_convlayer_1_h3_range_x_mean_u: 0.0529322326183
	train_parallel_conv_convlayer_1_h3_range_x_min_u: 0.0
	train_parallel_conv_convlayer_1_h4_kernel_norms_max: 0.510994374752
	train_parallel_conv_convlayer_1_h4_kernel_norms_mean: 0.49060857296
	train_parallel_conv_convlayer_1_h4_kernel_norms_min: 0.475406348705
	train_parallel_conv_convlayer_1_h4_max_x_max_u: 0.0681711137295
	train_parallel_conv_convlayer_1_h4_max_x_mean_u: 0.0227391384542
	train_parallel_conv_convlayer_1_h4_max_x_min_u: 0.0
	train_parallel_conv_convlayer_1_h4_mean_x_max_u: 0.0380823016167
	train_parallel_conv_convlayer_1_h4_mean_x_mean_u: 0.00983765162528
	train_parallel_conv_convlayer_1_h4_mean_x_min_u: 0.0
	train_parallel_conv_convlayer_1_h4_min_x_max_u: 0.0146338390186
	train_parallel_conv_convlayer_1_h4_min_x_mean_u: 0.0020497480873
	train_parallel_conv_convlayer_1_h4_min_x_min_u: 0.0
	train_parallel_conv_convlayer_1_h4_range_x_max_u: 0.0582607425749
	train_parallel_conv_convlayer_1_h4_range_x_mean_u: 0.0206893794239
	train_parallel_conv_convlayer_1_h4_range_x_min_u: 0.0
	train_term_0: 4.79608440399
	train_term_1_weight_decay: 0.0406233482063
	train_y_col_norms_max: 1.66509783268
	train_y_col_norms_mean: 1.60232138634
	train_y_col_norms_min: 1.53496730328
	train_y_max_max_class: 0.0086937174201
	train_y_mean_max_class: 0.00853613484651
	train_y_min_max_class: 0.00838274415582
	train_y_misclass: 0.963457763195
	train_y_nll: 4.7947883606
	train_y_row_norms_max: 0.6521089077
	train_y_row_norms_mean: 0.549801766872
	train_y_row_norms_min: 0.441544055939
	training_seconds_this_epoch: 0.0
	valid_h5_col_norms_max: 0.899228215218
	valid_h5_col_norms_mean: 0.799152433872
	valid_h5_col_norms_min: 0.698729634285
	valid_h5_max_x_max_u: 0.0506635047495
	valid_h5_max_x_mean_u: 0.00989521760494
	valid_h5_max_x_min_u: 0.0
	valid_h5_mean_x_max_u: 0.0281064044684
	valid_h5_mean_x_mean_u: 0.0038202854339
	valid_h5_mean_x_min_u: 0.0
	valid_h5_min_x_max_u: 0.0103268036619
	valid_h5_min_x_mean_u: 0.000657859491184
	valid_h5_min_x_min_u: 0.0
	valid_h5_range_x_max_u: 0.0426414161921
	valid_h5_range_x_mean_u: 0.00923735555261
	valid_h5_range_x_min_u: 0.0
	valid_h5_row_norms_max: 1.68890166283
	valid_h5_row_norms_mean: 1.59945547581
	valid_h5_row_norms_min: 1.51121068001
	valid_objective: 4.83677053452
	valid_parallel_conv_convlayer_0_h1_kernel_norms_max: 0.127522051334
	valid_parallel_conv_convlayer_0_h1_kernel_norms_mean: 0.114065490663
	valid_parallel_conv_convlayer_0_h1_kernel_norms_min: 0.102951861918
	valid_parallel_conv_convlayer_0_h1_max_x_max_u: 1.45741868019
	valid_parallel_conv_convlayer_0_h1_max_x_mean_u: 0.308896869421
	valid_parallel_conv_convlayer_0_h1_max_x_min_u: 0.00400035455823
	valid_parallel_conv_convlayer_0_h1_mean_x_max_u: 0.520340561867
	valid_parallel_conv_convlayer_0_h1_mean_x_mean_u: 0.044956792146
	valid_parallel_conv_convlayer_0_h1_mean_x_min_u: 0.000255925115198
	valid_parallel_conv_convlayer_0_h1_min_x_max_u: 0.067897759378
	valid_parallel_conv_convlayer_0_h1_min_x_mean_u: 0.000872007396538
	valid_parallel_conv_convlayer_0_h1_min_x_min_u: 0.0
	valid_parallel_conv_convlayer_0_h1_range_x_max_u: 1.45425355434
	valid_parallel_conv_convlayer_0_h1_range_x_mean_u: 0.30802488327
	valid_parallel_conv_convlayer_0_h1_range_x_min_u: 0.00400035455823
	valid_parallel_conv_convlayer_0_h2_kernel_norms_max: 0.513462245464
	valid_parallel_conv_convlayer_0_h2_kernel_norms_mean: 0.501125216484
	valid_parallel_conv_convlayer_0_h2_kernel_norms_min: 0.485049307346
	valid_parallel_conv_convlayer_0_h2_max_x_max_u: 0.537588179111
	valid_parallel_conv_convlayer_0_h2_max_x_mean_u: 0.136785373092
	valid_parallel_conv_convlayer_0_h2_max_x_min_u: 0.0
	valid_parallel_conv_convlayer_0_h2_mean_x_max_u: 0.227958232164
	valid_parallel_conv_convlayer_0_h2_mean_x_mean_u: 0.0273949056864
	valid_parallel_conv_convlayer_0_h2_mean_x_min_u: 0.0
	valid_parallel_conv_convlayer_0_h2_min_x_max_u: 0.0503464452922
	valid_parallel_conv_convlayer_0_h2_min_x_mean_u: 0.000894769094884
	valid_parallel_conv_convlayer_0_h2_min_x_min_u: 0.0
	valid_parallel_conv_convlayer_0_h2_range_x_max_u: 0.536081314087
	valid_parallel_conv_convlayer_0_h2_range_x_mean_u: 0.135890632868
	valid_parallel_conv_convlayer_0_h2_range_x_min_u: 0.0
	valid_parallel_conv_convlayer_0_h3_kernel_norms_max: 0.439074546099
	valid_parallel_conv_convlayer_0_h3_kernel_norms_mean: 0.425009936094
	valid_parallel_conv_convlayer_0_h3_kernel_norms_min: 0.406115174294
	valid_parallel_conv_convlayer_0_h3_max_x_max_u: 0.171653985977
	valid_parallel_conv_convlayer_0_h3_max_x_mean_u: 0.0434133224189
	valid_parallel_conv_convlayer_0_h3_max_x_min_u: 0.0
	valid_parallel_conv_convlayer_0_h3_mean_x_max_u: 0.0872454494238
	valid_parallel_conv_convlayer_0_h3_mean_x_mean_u: 0.012135556899
	valid_parallel_conv_convlayer_0_h3_mean_x_min_u: 0.0
	valid_parallel_conv_convlayer_0_h3_min_x_max_u: 0.0258058942854
	valid_parallel_conv_convlayer_0_h3_min_x_mean_u: 0.00087039830396
	valid_parallel_conv_convlayer_0_h3_min_x_min_u: 0.0
	valid_parallel_conv_convlayer_0_h3_range_x_max_u: 0.165369138122
	valid_parallel_conv_convlayer_0_h3_range_x_mean_u: 0.0425429232419
	valid_parallel_conv_convlayer_0_h3_range_x_min_u: 0.0
	valid_parallel_conv_convlayer_0_h4_kernel_norms_max: 0.50179374218
	valid_parallel_conv_convlayer_0_h4_kernel_norms_mean: 0.489563822746
	valid_parallel_conv_convlayer_0_h4_kernel_norms_min: 0.46897906065
	valid_parallel_conv_convlayer_0_h4_max_x_max_u: 0.0594280548394
	valid_parallel_conv_convlayer_0_h4_max_x_mean_u: 0.0190476030111
	valid_parallel_conv_convlayer_0_h4_max_x_min_u: 0.0
	valid_parallel_conv_convlayer_0_h4_mean_x_max_u: 0.0325198955834
	valid_parallel_conv_convlayer_0_h4_mean_x_mean_u: 0.00783205311745
	valid_parallel_conv_convlayer_0_h4_mean_x_min_u: 0.0
	valid_parallel_conv_convlayer_0_h4_min_x_max_u: 0.0119618531317
	valid_parallel_conv_convlayer_0_h4_min_x_mean_u: 0.00150397408288
	valid_parallel_conv_convlayer_0_h4_min_x_min_u: 0.0
	valid_parallel_conv_convlayer_0_h4_range_x_max_u: 0.0511941090226
	valid_parallel_conv_convlayer_0_h4_range_x_mean_u: 0.0175436269492
	valid_parallel_conv_convlayer_0_h4_range_x_min_u: 0.0
	valid_parallel_conv_convlayer_1_h1_kernel_norms_max: 0.134174033999
	valid_parallel_conv_convlayer_1_h1_kernel_norms_mean: 0.115739285946
	valid_parallel_conv_convlayer_1_h1_kernel_norms_min: 0.101580992341
	valid_parallel_conv_convlayer_1_h1_max_x_max_u: 1.68509399891
	valid_parallel_conv_convlayer_1_h1_max_x_mean_u: 0.359272092581
	valid_parallel_conv_convlayer_1_h1_max_x_min_u: 0.00441553117707
	valid_parallel_conv_convlayer_1_h1_mean_x_max_u: 0.594760715961
	valid_parallel_conv_convlayer_1_h1_mean_x_mean_u: 0.0483435206115
	valid_parallel_conv_convlayer_1_h1_mean_x_min_u: 0.000247983756708
	valid_parallel_conv_convlayer_1_h1_min_x_max_u: 0.0942582041025
	valid_parallel_conv_convlayer_1_h1_min_x_mean_u: 0.000608630070928
	valid_parallel_conv_convlayer_1_h1_min_x_min_u: 0.0
	valid_parallel_conv_convlayer_1_h1_range_x_max_u: 1.68120539188
	valid_parallel_conv_convlayer_1_h1_range_x_mean_u: 0.358663469553
	valid_parallel_conv_convlayer_1_h1_range_x_min_u: 0.00441553117707
	valid_parallel_conv_convlayer_1_h2_kernel_norms_max: 0.515479505062
	valid_parallel_conv_convlayer_1_h2_kernel_norms_mean: 0.501338064671
	valid_parallel_conv_convlayer_1_h2_kernel_norms_min: 0.477708250284
	valid_parallel_conv_convlayer_1_h2_max_x_max_u: 0.599702298641
	valid_parallel_conv_convlayer_1_h2_max_x_mean_u: 0.163859352469
	valid_parallel_conv_convlayer_1_h2_max_x_min_u: 0.0
	valid_parallel_conv_convlayer_1_h2_mean_x_max_u: 0.239698961377
	valid_parallel_conv_convlayer_1_h2_mean_x_mean_u: 0.0338903963566
	valid_parallel_conv_convlayer_1_h2_mean_x_min_u: 0.0
	valid_parallel_conv_convlayer_1_h2_min_x_max_u: 0.0547201484442
	valid_parallel_conv_convlayer_1_h2_min_x_mean_u: 0.00122625380754
	valid_parallel_conv_convlayer_1_h2_min_x_min_u: 0.0
	valid_parallel_conv_convlayer_1_h2_range_x_max_u: 0.594869911671
	valid_parallel_conv_convlayer_1_h2_range_x_mean_u: 0.16263307631
	valid_parallel_conv_convlayer_1_h2_range_x_min_u: 0.0
	valid_parallel_conv_convlayer_1_h3_kernel_norms_max: 0.441289931536
	valid_parallel_conv_convlayer_1_h3_kernel_norms_mean: 0.425100207329
	valid_parallel_conv_convlayer_1_h3_kernel_norms_min: 0.406871408224
	valid_parallel_conv_convlayer_1_h3_max_x_max_u: 0.238650366664
	valid_parallel_conv_convlayer_1_h3_max_x_mean_u: 0.0587837472558
	valid_parallel_conv_convlayer_1_h3_max_x_min_u: 0.0
	valid_parallel_conv_convlayer_1_h3_mean_x_max_u: 0.123887874186
	valid_parallel_conv_convlayer_1_h3_mean_x_mean_u: 0.0169101301581
	valid_parallel_conv_convlayer_1_h3_mean_x_min_u: 0.0
	valid_parallel_conv_convlayer_1_h3_min_x_max_u: 0.0362699180841
	valid_parallel_conv_convlayer_1_h3_min_x_mean_u: 0.00121681962628
	valid_parallel_conv_convlayer_1_h3_min_x_min_u: 0.0
	valid_parallel_conv_convlayer_1_h3_range_x_max_u: 0.226467847824
	valid_parallel_conv_convlayer_1_h3_range_x_mean_u: 0.0575669333339
	valid_parallel_conv_convlayer_1_h3_range_x_min_u: 0.0
	valid_parallel_conv_convlayer_1_h4_kernel_norms_max: 0.510995864868
	valid_parallel_conv_convlayer_1_h4_kernel_norms_mean: 0.490609139204
	valid_parallel_conv_convlayer_1_h4_kernel_norms_min: 0.475407242775
	valid_parallel_conv_convlayer_1_h4_max_x_max_u: 0.0737471729517
	valid_parallel_conv_convlayer_1_h4_max_x_mean_u: 0.0240912232548
	valid_parallel_conv_convlayer_1_h4_max_x_min_u: 0.0
	valid_parallel_conv_convlayer_1_h4_mean_x_max_u: 0.0374924577773
	valid_parallel_conv_convlayer_1_h4_mean_x_mean_u: 0.00975235272199
	valid_parallel_conv_convlayer_1_h4_mean_x_min_u: 0.0
	valid_parallel_conv_convlayer_1_h4_min_x_max_u: 0.0120760099962
	valid_parallel_conv_convlayer_1_h4_min_x_mean_u: 0.00158882816322
	valid_parallel_conv_convlayer_1_h4_min_x_min_u: 0.0
	valid_parallel_conv_convlayer_1_h4_range_x_max_u: 0.0647638365626
	valid_parallel_conv_convlayer_1_h4_range_x_mean_u: 0.0225023943931
	valid_parallel_conv_convlayer_1_h4_range_x_min_u: 0.0
	valid_term_0: 4.79603767395
	valid_term_1_weight_decay: 0.0406233929098
	valid_y_col_norms_max: 1.66509592533
	valid_y_col_norms_mean: 1.60231876373
	valid_y_col_norms_min: 1.53496801853
	valid_y_max_max_class: 0.00872329901904
	valid_y_mean_max_class: 0.00853414926678
	valid_y_min_max_class: 0.00835891719908
	valid_y_misclass: 0.962635755539
	valid_y_nll: 4.79477596283
	valid_y_row_norms_max: 0.652107954025
	valid_y_row_norms_mean: 0.549801409245
	valid_y_row_norms_min: 0.441544651985
Saving to /disk/scratch/neuroglycerin/models/parallel_interactive.pkl...
Saving to /disk/scratch/neuroglycerin/models/parallel_interactive.pkl done. Time elapsed: 0.586090 seconds
/afs/inf.ed.ac.uk/user/s08/s0805516/repos/pylearn2/pylearn2/monitor.py:573: UserWarning: Trained model saved without indicating yaml_src
  'indicating yaml_src')
Time this epoch: 0:04:09.848298
Monitoring step:
	Epochs seen: 1
	Batches seen: 189
	Examples seen: 24192
	learning_rate: 0.0995122715831
	momentum: 0.49999922514
	total_seconds_last_epoch: 0.0
	train_h5_col_norms_max: 0.906052649021
	train_h5_col_norms_mean: 0.798457682133
	train_h5_col_norms_min: 0.698196172714
	train_h5_max_x_max_u: 1.09047603607
	train_h5_max_x_mean_u: 0.199399873614
	train_h5_max_x_min_u: 0.0
	train_h5_mean_x_max_u: 0.761857151985
	train_h5_mean_x_mean_u: 0.0910970792174
	train_h5_mean_x_min_u: 0.0
	train_h5_min_x_max_u: 0.406227201223
	train_h5_min_x_mean_u: 0.0217617247254
	train_h5_min_x_min_u: 0.0
	train_h5_range_x_max_u: 0.898805439472
	train_h5_range_x_mean_u: 0.177638217807
	train_h5_range_x_min_u: 0.0
	train_h5_row_norms_max: 1.68716108799
	train_h5_row_norms_mean: 1.59806966782
	train_h5_row_norms_min: 1.51398015022
	train_objective: 3.93358445168
	train_parallel_conv_convlayer_0_h1_kernel_norms_max: 0.295005738735
	train_parallel_conv_convlayer_0_h1_kernel_norms_mean: 0.143323644996
	train_parallel_conv_convlayer_0_h1_kernel_norms_min: 0.099972307682
	train_parallel_conv_convlayer_0_h1_max_x_max_u: 8.47702312469
	train_parallel_conv_convlayer_0_h1_max_x_mean_u: 0.465105444193
	train_parallel_conv_convlayer_0_h1_max_x_min_u: 0.00312465196475
	train_parallel_conv_convlayer_0_h1_mean_x_max_u: 3.52779579163
	train_parallel_conv_convlayer_0_h1_mean_x_mean_u: 0.146425366402
	train_parallel_conv_convlayer_0_h1_mean_x_min_u: 0.000217756489292
	train_parallel_conv_convlayer_0_h1_min_x_max_u: 0.523096740246
	train_parallel_conv_convlayer_0_h1_min_x_mean_u: 0.00942011270672
	train_parallel_conv_convlayer_0_h1_min_x_min_u: 0.0
	train_parallel_conv_convlayer_0_h1_range_x_max_u: 8.46925544739
	train_parallel_conv_convlayer_0_h1_range_x_mean_u: 0.455685257912
	train_parallel_conv_convlayer_0_h1_range_x_min_u: 0.00312465196475
	train_parallel_conv_convlayer_0_h2_kernel_norms_max: 0.520512282848
	train_parallel_conv_convlayer_0_h2_kernel_norms_mean: 0.505191743374
	train_parallel_conv_convlayer_0_h2_kernel_norms_min: 0.489069670439
	train_parallel_conv_convlayer_0_h2_max_x_max_u: 3.2428715229
	train_parallel_conv_convlayer_0_h2_max_x_mean_u: 0.449477821589
	train_parallel_conv_convlayer_0_h2_max_x_min_u: 0.0
	train_parallel_conv_convlayer_0_h2_mean_x_max_u: 1.27296888828
	train_parallel_conv_convlayer_0_h2_mean_x_mean_u: 0.0769472941756
	train_parallel_conv_convlayer_0_h2_mean_x_min_u: 0.0
	train_parallel_conv_convlayer_0_h2_min_x_max_u: 0.379222720861
	train_parallel_conv_convlayer_0_h2_min_x_mean_u: 0.00177052535582
	train_parallel_conv_convlayer_0_h2_min_x_min_u: 0.0
	train_parallel_conv_convlayer_0_h2_range_x_max_u: 3.22772932053
	train_parallel_conv_convlayer_0_h2_range_x_mean_u: 0.44770732522
	train_parallel_conv_convlayer_0_h2_range_x_min_u: 0.0
	train_parallel_conv_convlayer_0_h3_kernel_norms_max: 0.459286540747
	train_parallel_conv_convlayer_0_h3_kernel_norms_mean: 0.430063128471
	train_parallel_conv_convlayer_0_h3_kernel_norms_min: 0.404975384474
	train_parallel_conv_convlayer_0_h3_max_x_max_u: 1.66647982597
	train_parallel_conv_convlayer_0_h3_max_x_mean_u: 0.240846291184
	train_parallel_conv_convlayer_0_h3_max_x_min_u: 0.0
	train_parallel_conv_convlayer_0_h3_mean_x_max_u: 0.687196969986
	train_parallel_conv_convlayer_0_h3_mean_x_mean_u: 0.0494535900652
	train_parallel_conv_convlayer_0_h3_mean_x_min_u: 0.0
	train_parallel_conv_convlayer_0_h3_min_x_max_u: 0.1095386222
	train_parallel_conv_convlayer_0_h3_min_x_mean_u: 0.000909629743546
	train_parallel_conv_convlayer_0_h3_min_x_min_u: 0.0
	train_parallel_conv_convlayer_0_h3_range_x_max_u: 1.65253162384
	train_parallel_conv_convlayer_0_h3_range_x_mean_u: 0.239936664701
	train_parallel_conv_convlayer_0_h3_range_x_min_u: 0.0
	train_parallel_conv_convlayer_0_h4_kernel_norms_max: 0.569004237652
	train_parallel_conv_convlayer_0_h4_kernel_norms_mean: 0.498202353716
	train_parallel_conv_convlayer_0_h4_kernel_norms_min: 0.467228531837
	train_parallel_conv_convlayer_0_h4_max_x_max_u: 1.30465805531
	train_parallel_conv_convlayer_0_h4_max_x_mean_u: 0.238525673747
	train_parallel_conv_convlayer_0_h4_max_x_min_u: 0.0
	train_parallel_conv_convlayer_0_h4_mean_x_max_u: 0.63062953949
	train_parallel_conv_convlayer_0_h4_mean_x_mean_u: 0.0907590463758
	train_parallel_conv_convlayer_0_h4_mean_x_min_u: 0.0
	train_parallel_conv_convlayer_0_h4_min_x_max_u: 0.154370427132
	train_parallel_conv_convlayer_0_h4_min_x_mean_u: 0.010528229177
	train_parallel_conv_convlayer_0_h4_min_x_min_u: 0.0
	train_parallel_conv_convlayer_0_h4_range_x_max_u: 1.22183787823
	train_parallel_conv_convlayer_0_h4_range_x_mean_u: 0.227997362614
	train_parallel_conv_convlayer_0_h4_range_x_min_u: 0.0
	train_parallel_conv_convlayer_1_h1_kernel_norms_max: 0.229743465781
	train_parallel_conv_convlayer_1_h1_kernel_norms_mean: 0.157685935497
	train_parallel_conv_convlayer_1_h1_kernel_norms_min: 0.101432539523
	train_parallel_conv_convlayer_1_h1_max_x_max_u: 4.82054328918
	train_parallel_conv_convlayer_1_h1_max_x_mean_u: 0.466979324818
	train_parallel_conv_convlayer_1_h1_max_x_min_u: 0.00421174615622
	train_parallel_conv_convlayer_1_h1_mean_x_max_u: 1.8673030138
	train_parallel_conv_convlayer_1_h1_mean_x_mean_u: 0.166777223349
	train_parallel_conv_convlayer_1_h1_mean_x_min_u: 0.000363576400559
	train_parallel_conv_convlayer_1_h1_min_x_max_u: 0.454939305782
	train_parallel_conv_convlayer_1_h1_min_x_mean_u: 0.0111547643319
	train_parallel_conv_convlayer_1_h1_min_x_min_u: 0.0
	train_parallel_conv_convlayer_1_h1_range_x_max_u: 4.80887126923
	train_parallel_conv_convlayer_1_h1_range_x_mean_u: 0.455824673176
	train_parallel_conv_convlayer_1_h1_range_x_min_u: 0.00421174615622
	train_parallel_conv_convlayer_1_h2_kernel_norms_max: 0.604686617851
	train_parallel_conv_convlayer_1_h2_kernel_norms_mean: 0.508789181709
	train_parallel_conv_convlayer_1_h2_kernel_norms_min: 0.482075065374
	train_parallel_conv_convlayer_1_h2_max_x_max_u: 3.15043473244
	train_parallel_conv_convlayer_1_h2_max_x_mean_u: 0.413772016764
	train_parallel_conv_convlayer_1_h2_max_x_min_u: 0.0
	train_parallel_conv_convlayer_1_h2_mean_x_max_u: 1.29719126225
	train_parallel_conv_convlayer_1_h2_mean_x_mean_u: 0.158457040787
	train_parallel_conv_convlayer_1_h2_mean_x_min_u: 0.0
	train_parallel_conv_convlayer_1_h2_min_x_max_u: 0.429977655411
	train_parallel_conv_convlayer_1_h2_min_x_mean_u: 0.0083533031866
	train_parallel_conv_convlayer_1_h2_min_x_min_u: 0.0
	train_parallel_conv_convlayer_1_h2_range_x_max_u: 3.13645768166
	train_parallel_conv_convlayer_1_h2_range_x_mean_u: 0.405418753624
	train_parallel_conv_convlayer_1_h2_range_x_min_u: 0.0
	train_parallel_conv_convlayer_1_h3_kernel_norms_max: 0.471830397844
	train_parallel_conv_convlayer_1_h3_kernel_norms_mean: 0.43078944087
	train_parallel_conv_convlayer_1_h3_kernel_norms_min: 0.410564661026
	train_parallel_conv_convlayer_1_h3_max_x_max_u: 1.64746940136
	train_parallel_conv_convlayer_1_h3_max_x_mean_u: 0.25980001688
	train_parallel_conv_convlayer_1_h3_max_x_min_u: 0.0
	train_parallel_conv_convlayer_1_h3_mean_x_max_u: 1.07898831367
	train_parallel_conv_convlayer_1_h3_mean_x_mean_u: 0.0916478708386
	train_parallel_conv_convlayer_1_h3_mean_x_min_u: 0.0
	train_parallel_conv_convlayer_1_h3_min_x_max_u: 0.245408758521
	train_parallel_conv_convlayer_1_h3_min_x_mean_u: 0.00410270690918
	train_parallel_conv_convlayer_1_h3_min_x_min_u: 0.0
	train_parallel_conv_convlayer_1_h3_range_x_max_u: 1.63857913017
	train_parallel_conv_convlayer_1_h3_range_x_mean_u: 0.255697339773
	train_parallel_conv_convlayer_1_h3_range_x_min_u: 0.0
	train_parallel_conv_convlayer_1_h4_kernel_norms_max: 0.554291903973
	train_parallel_conv_convlayer_1_h4_kernel_norms_mean: 0.502486586571
	train_parallel_conv_convlayer_1_h4_kernel_norms_min: 0.474787533283
	train_parallel_conv_convlayer_1_h4_max_x_max_u: 1.51688826084
	train_parallel_conv_convlayer_1_h4_max_x_mean_u: 0.28171736002
	train_parallel_conv_convlayer_1_h4_max_x_min_u: 0.0
	train_parallel_conv_convlayer_1_h4_mean_x_max_u: 0.976242184639
	train_parallel_conv_convlayer_1_h4_mean_x_mean_u: 0.137441575527
	train_parallel_conv_convlayer_1_h4_mean_x_min_u: 0.0
	train_parallel_conv_convlayer_1_h4_min_x_max_u: 0.32486730814
	train_parallel_conv_convlayer_1_h4_min_x_mean_u: 0.0238393545151
	train_parallel_conv_convlayer_1_h4_min_x_min_u: 0.0
	train_parallel_conv_convlayer_1_h4_range_x_max_u: 1.33618175983
	train_parallel_conv_convlayer_1_h4_range_x_mean_u: 0.257878035307
	train_parallel_conv_convlayer_1_h4_range_x_min_u: 0.0
	train_term_0: 3.89868593216
	train_term_1_weight_decay: 0.0408675596118
	train_y_col_norms_max: 1.66813337803
	train_y_col_norms_mean: 1.60313785076
	train_y_col_norms_min: 1.5389662981
	train_y_max_max_class: 0.132982820272
	train_y_mean_max_class: 0.0768535137177
	train_y_min_max_class: 0.0320051424205
	train_y_misclass: 0.853628635406
	train_y_nll: 3.81483197212
	train_y_row_norms_max: 0.649808049202
	train_y_row_norms_mean: 0.550083816051
	train_y_row_norms_min: 0.440504938364
	training_seconds_this_epoch: 249.847824097
	valid_h5_col_norms_max: 0.906051635742
	valid_h5_col_norms_mean: 0.798457384109
	valid_h5_col_norms_min: 0.698195934296
	valid_h5_max_x_max_u: 1.14654648304
	valid_h5_max_x_mean_u: 0.221995994449
	valid_h5_max_x_min_u: 0.0
	valid_h5_mean_x_max_u: 0.746114313602
	valid_h5_mean_x_mean_u: 0.0911874249578
	valid_h5_mean_x_min_u: 0.0
	valid_h5_min_x_max_u: 0.322563737631
	valid_h5_min_x_mean_u: 0.0133730769157
	valid_h5_min_x_min_u: 0.0
	valid_h5_range_x_max_u: 1.02671778202
	valid_h5_range_x_mean_u: 0.208622887731
	valid_h5_range_x_min_u: 0.0
	valid_h5_row_norms_max: 1.68716394901
	valid_h5_row_norms_mean: 1.59806871414
	valid_h5_row_norms_min: 1.5139799118
	valid_objective: 3.90573358536
	valid_parallel_conv_convlayer_0_h1_kernel_norms_max: 0.295005679131
	valid_parallel_conv_convlayer_0_h1_kernel_norms_mean: 0.143323540688
	valid_parallel_conv_convlayer_0_h1_kernel_norms_min: 0.0999723449349
	valid_parallel_conv_convlayer_0_h1_max_x_max_u: 9.02118015289
	valid_parallel_conv_convlayer_0_h1_max_x_mean_u: 0.506429433823
	valid_parallel_conv_convlayer_0_h1_max_x_min_u: 0.0074302861467
	valid_parallel_conv_convlayer_0_h1_mean_x_max_u: 3.43547821045
	valid_parallel_conv_convlayer_0_h1_mean_x_mean_u: 0.145967051387
	valid_parallel_conv_convlayer_0_h1_mean_x_min_u: 0.000280655454844
	valid_parallel_conv_convlayer_0_h1_min_x_max_u: 0.424710422754
	valid_parallel_conv_convlayer_0_h1_min_x_mean_u: 0.00657970039174
	valid_parallel_conv_convlayer_0_h1_min_x_min_u: 0.0
	valid_parallel_conv_convlayer_0_h1_range_x_max_u: 9.01894283295
	valid_parallel_conv_convlayer_0_h1_range_x_mean_u: 0.499849766493
	valid_parallel_conv_convlayer_0_h1_range_x_min_u: 0.0074302861467
	valid_parallel_conv_convlayer_0_h2_kernel_norms_max: 0.520512759686
	valid_parallel_conv_convlayer_0_h2_kernel_norms_mean: 0.505192697048
	valid_parallel_conv_convlayer_0_h2_kernel_norms_min: 0.489069104195
	valid_parallel_conv_convlayer_0_h2_max_x_max_u: 3.60932588577
	valid_parallel_conv_convlayer_0_h2_max_x_mean_u: 0.508396208286
	valid_parallel_conv_convlayer_0_h2_max_x_min_u: 0.0
	valid_parallel_conv_convlayer_0_h2_mean_x_max_u: 1.21401929855
	valid_parallel_conv_convlayer_0_h2_mean_x_mean_u: 0.0756087452173
	valid_parallel_conv_convlayer_0_h2_mean_x_min_u: 0.0
	valid_parallel_conv_convlayer_0_h2_min_x_max_u: 0.35655015707
	valid_parallel_conv_convlayer_0_h2_min_x_mean_u: 0.00124717201106
	valid_parallel_conv_convlayer_0_h2_min_x_min_u: 0.0
	valid_parallel_conv_convlayer_0_h2_range_x_max_u: 3.60456228256
	valid_parallel_conv_convlayer_0_h2_range_x_mean_u: 0.507149100304
	valid_parallel_conv_convlayer_0_h2_range_x_min_u: 0.0
	valid_parallel_conv_convlayer_0_h3_kernel_norms_max: 0.459286868572
	valid_parallel_conv_convlayer_0_h3_kernel_norms_mean: 0.430062830448
	valid_parallel_conv_convlayer_0_h3_kernel_norms_min: 0.404974997044
	valid_parallel_conv_convlayer_0_h3_max_x_max_u: 1.81288993359
	valid_parallel_conv_convlayer_0_h3_max_x_mean_u: 0.265914857388
	valid_parallel_conv_convlayer_0_h3_max_x_min_u: 0.0
	valid_parallel_conv_convlayer_0_h3_mean_x_max_u: 0.660882055759
	valid_parallel_conv_convlayer_0_h3_mean_x_mean_u: 0.0488095544279
	valid_parallel_conv_convlayer_0_h3_mean_x_min_u: 0.0
	valid_parallel_conv_convlayer_0_h3_min_x_max_u: 0.0808309912682
	valid_parallel_conv_convlayer_0_h3_min_x_mean_u: 0.000564830901567
	valid_parallel_conv_convlayer_0_h3_min_x_min_u: 0.0
	valid_parallel_conv_convlayer_0_h3_range_x_max_u: 1.79930126667
	valid_parallel_conv_convlayer_0_h3_range_x_mean_u: 0.265350013971
	valid_parallel_conv_convlayer_0_h3_range_x_min_u: 0.0
	valid_parallel_conv_convlayer_0_h4_kernel_norms_max: 0.569003880024
	valid_parallel_conv_convlayer_0_h4_kernel_norms_mean: 0.498202770948
	valid_parallel_conv_convlayer_0_h4_kernel_norms_min: 0.467229008675
	valid_parallel_conv_convlayer_0_h4_max_x_max_u: 1.52152407169
	valid_parallel_conv_convlayer_0_h4_max_x_mean_u: 0.267918646336
	valid_parallel_conv_convlayer_0_h4_max_x_min_u: 0.0
	valid_parallel_conv_convlayer_0_h4_mean_x_max_u: 0.616094410419
	valid_parallel_conv_convlayer_0_h4_mean_x_mean_u: 0.0898435339332
	valid_parallel_conv_convlayer_0_h4_mean_x_min_u: 0.0
	valid_parallel_conv_convlayer_0_h4_min_x_max_u: 0.108178287745
	valid_parallel_conv_convlayer_0_h4_min_x_mean_u: 0.00647181132808
	valid_parallel_conv_convlayer_0_h4_min_x_min_u: 0.0
	valid_parallel_conv_convlayer_0_h4_range_x_max_u: 1.4627790451
	valid_parallel_conv_convlayer_0_h4_range_x_mean_u: 0.261446833611
	valid_parallel_conv_convlayer_0_h4_range_x_min_u: 0.0
	valid_parallel_conv_convlayer_1_h1_kernel_norms_max: 0.229743078351
	valid_parallel_conv_convlayer_1_h1_kernel_norms_mean: 0.157686159015
	valid_parallel_conv_convlayer_1_h1_kernel_norms_min: 0.101432487369
	valid_parallel_conv_convlayer_1_h1_max_x_max_u: 5.26281261444
	valid_parallel_conv_convlayer_1_h1_max_x_mean_u: 0.501139879227
	valid_parallel_conv_convlayer_1_h1_max_x_min_u: 0.00828118622303
	valid_parallel_conv_convlayer_1_h1_mean_x_max_u: 1.79832446575
	valid_parallel_conv_convlayer_1_h1_mean_x_mean_u: 0.166468858719
	valid_parallel_conv_convlayer_1_h1_mean_x_min_u: 0.000536154198926
	valid_parallel_conv_convlayer_1_h1_min_x_max_u: 0.383785456419
	valid_parallel_conv_convlayer_1_h1_min_x_mean_u: 0.00768909975886
	valid_parallel_conv_convlayer_1_h1_min_x_min_u: 0.0
	valid_parallel_conv_convlayer_1_h1_range_x_max_u: 5.25521326065
	valid_parallel_conv_convlayer_1_h1_range_x_mean_u: 0.493450850248
	valid_parallel_conv_convlayer_1_h1_range_x_min_u: 0.00828118622303
	valid_parallel_conv_convlayer_1_h2_kernel_norms_max: 0.604687333107
	valid_parallel_conv_convlayer_1_h2_kernel_norms_mean: 0.508788049221
	valid_parallel_conv_convlayer_1_h2_kernel_norms_min: 0.482075303793
	valid_parallel_conv_convlayer_1_h2_max_x_max_u: 3.6336581707
	valid_parallel_conv_convlayer_1_h2_max_x_mean_u: 0.445889472961
	valid_parallel_conv_convlayer_1_h2_max_x_min_u: 0.0
	valid_parallel_conv_convlayer_1_h2_mean_x_max_u: 1.22942006588
	valid_parallel_conv_convlayer_1_h2_mean_x_mean_u: 0.158477500081
	valid_parallel_conv_convlayer_1_h2_mean_x_min_u: 0.0
	valid_parallel_conv_convlayer_1_h2_min_x_max_u: 0.380403876305
	valid_parallel_conv_convlayer_1_h2_min_x_mean_u: 0.00473578507081
	valid_parallel_conv_convlayer_1_h2_min_x_min_u: 0.0
	valid_parallel_conv_convlayer_1_h2_range_x_max_u: 3.62608551979
	valid_parallel_conv_convlayer_1_h2_range_x_mean_u: 0.441153675318
	valid_parallel_conv_convlayer_1_h2_range_x_min_u: 0.0
	valid_parallel_conv_convlayer_1_h3_kernel_norms_max: 0.471830666065
	valid_parallel_conv_convlayer_1_h3_kernel_norms_mean: 0.430788457394
	valid_parallel_conv_convlayer_1_h3_kernel_norms_min: 0.410565286875
	valid_parallel_conv_convlayer_1_h3_max_x_max_u: 1.76917767525
	valid_parallel_conv_convlayer_1_h3_max_x_mean_u: 0.282502830029
	valid_parallel_conv_convlayer_1_h3_max_x_min_u: 0.0
	valid_parallel_conv_convlayer_1_h3_mean_x_max_u: 1.06102824211
	valid_parallel_conv_convlayer_1_h3_mean_x_mean_u: 0.0917065888643
	valid_parallel_conv_convlayer_1_h3_mean_x_min_u: 0.0
	valid_parallel_conv_convlayer_1_h3_min_x_max_u: 0.164935156703
	valid_parallel_conv_convlayer_1_h3_min_x_mean_u: 0.00154042628128
	valid_parallel_conv_convlayer_1_h3_min_x_min_u: 0.0
	valid_parallel_conv_convlayer_1_h3_range_x_max_u: 1.76730728149
	valid_parallel_conv_convlayer_1_h3_range_x_mean_u: 0.280962377787
	valid_parallel_conv_convlayer_1_h3_range_x_min_u: 0.0
	valid_parallel_conv_convlayer_1_h4_kernel_norms_max: 0.554291963577
	valid_parallel_conv_convlayer_1_h4_kernel_norms_mean: 0.502485871315
	valid_parallel_conv_convlayer_1_h4_kernel_norms_min: 0.474788039923
	valid_parallel_conv_convlayer_1_h4_max_x_max_u: 1.54615664482
	valid_parallel_conv_convlayer_1_h4_max_x_mean_u: 0.307971358299
	valid_parallel_conv_convlayer_1_h4_max_x_min_u: 0.0
	valid_parallel_conv_convlayer_1_h4_mean_x_max_u: 0.949277937412
	valid_parallel_conv_convlayer_1_h4_mean_x_mean_u: 0.137811824679
	valid_parallel_conv_convlayer_1_h4_mean_x_min_u: 0.0
	valid_parallel_conv_convlayer_1_h4_min_x_max_u: 0.160014584661
	valid_parallel_conv_convlayer_1_h4_min_x_mean_u: 0.00845441687852
	valid_parallel_conv_convlayer_1_h4_min_x_min_u: 0.0
	valid_parallel_conv_convlayer_1_h4_range_x_max_u: 1.47909700871
	valid_parallel_conv_convlayer_1_h4_range_x_mean_u: 0.299516916275
	valid_parallel_conv_convlayer_1_h4_range_x_min_u: 0.0
	valid_term_0: 3.87470126152
	valid_term_1_weight_decay: 0.0408675037324
	valid_y_col_norms_max: 1.66813051701
	valid_y_col_norms_mean: 1.6031358242
	valid_y_col_norms_min: 1.53896427155
	valid_y_max_max_class: 0.15305390954
	valid_y_mean_max_class: 0.0772568807006
	valid_y_min_max_class: 0.0271530412138
	valid_y_misclass: 0.849864065647
	valid_y_nll: 3.79825377464
	valid_y_row_norms_max: 0.649808943272
	valid_y_row_norms_mean: 0.550084531307
	valid_y_row_norms_min: 0.440504521132
Saving to /disk/scratch/neuroglycerin/models/parallel_interactive.pkl...
Saving to /disk/scratch/neuroglycerin/models/parallel_interactive.pkl done. Time elapsed: 0.534946 seconds
monitoring channel is valid_y_nll
Saving to /disk/scratch/neuroglycerin/models/parallel_interactive_recent.pkl...
Saving to /disk/scratch/neuroglycerin/models/parallel_interactive_recent.pkl done. Time elapsed: 0.533378 seconds
Time this epoch: 0:04:10.815861
Monitoring step:
	Epochs seen: 2
	Batches seen: 378
	Examples seen: 48384
	learning_rate: 0.0990249440074
	momentum: 0.502262055874
	total_seconds_last_epoch: 690.223876953
	train_h5_col_norms_max: 0.90671736002
	train_h5_col_norms_mean: 0.798042654991
	train_h5_col_norms_min: 0.696655094624
	train_h5_max_x_max_u: 1.58407080173
	train_h5_max_x_mean_u: 0.345134079456
	train_h5_max_x_min_u: 0.0
	train_h5_mean_x_max_u: 0.886536121368
	train_h5_mean_x_mean_u: 0.109607256949
	train_h5_mean_x_min_u: 0.0
	train_h5_min_x_max_u: 0.343673914671
	train_h5_min_x_mean_u: 0.00764586962759
	train_h5_min_x_min_u: 0.0
	train_h5_range_x_max_u: 1.50917744637
	train_h5_range_x_mean_u: 0.337488234043
	train_h5_range_x_min_u: 0.0
	train_h5_row_norms_max: 1.68683862686
	train_h5_row_norms_mean: 1.59724318981
	train_h5_row_norms_min: 1.51687538624
	train_objective: 3.45549058914
	train_parallel_conv_convlayer_0_h1_kernel_norms_max: 0.489313006401
	train_parallel_conv_convlayer_0_h1_kernel_norms_mean: 0.176306292415
	train_parallel_conv_convlayer_0_h1_kernel_norms_min: 0.109685793519
	train_parallel_conv_convlayer_0_h1_max_x_max_u: 8.49013233185
	train_parallel_conv_convlayer_0_h1_max_x_mean_u: 0.581461012363
	train_parallel_conv_convlayer_0_h1_max_x_min_u: 0.00363519415259
	train_parallel_conv_convlayer_0_h1_mean_x_max_u: 3.45463871956
	train_parallel_conv_convlayer_0_h1_mean_x_mean_u: 0.168899670243
	train_parallel_conv_convlayer_0_h1_mean_x_min_u: 0.000218425208004
	train_parallel_conv_convlayer_0_h1_min_x_max_u: 0.541983187199
	train_parallel_conv_convlayer_0_h1_min_x_mean_u: 0.0105377957225
	train_parallel_conv_convlayer_0_h1_min_x_min_u: 0.0
	train_parallel_conv_convlayer_0_h1_range_x_max_u: 8.48217105865
	train_parallel_conv_convlayer_0_h1_range_x_mean_u: 0.5709233284
	train_parallel_conv_convlayer_0_h1_range_x_min_u: 0.00363519415259
	train_parallel_conv_convlayer_0_h2_kernel_norms_max: 0.594672441483
	train_parallel_conv_convlayer_0_h2_kernel_norms_mean: 0.512998104095
	train_parallel_conv_convlayer_0_h2_kernel_norms_min: 0.492839038372
	train_parallel_conv_convlayer_0_h2_max_x_max_u: 4.27903747559
	train_parallel_conv_convlayer_0_h2_max_x_mean_u: 0.717085540295
	train_parallel_conv_convlayer_0_h2_max_x_min_u: 0.0
	train_parallel_conv_convlayer_0_h2_mean_x_max_u: 2.28330826759
	train_parallel_conv_convlayer_0_h2_mean_x_mean_u: 0.124060474336
	train_parallel_conv_convlayer_0_h2_mean_x_min_u: 0.0
	train_parallel_conv_convlayer_0_h2_min_x_max_u: 0.888219416142
	train_parallel_conv_convlayer_0_h2_min_x_mean_u: 0.00244691665284
	train_parallel_conv_convlayer_0_h2_min_x_min_u: 0.0
	train_parallel_conv_convlayer_0_h2_range_x_max_u: 4.27495479584
	train_parallel_conv_convlayer_0_h2_range_x_mean_u: 0.714638352394
	train_parallel_conv_convlayer_0_h2_range_x_min_u: 0.0
	train_parallel_conv_convlayer_0_h3_kernel_norms_max: 0.552426636219
	train_parallel_conv_convlayer_0_h3_kernel_norms_mean: 0.444584161043
	train_parallel_conv_convlayer_0_h3_kernel_norms_min: 0.407795727253
	train_parallel_conv_convlayer_0_h3_max_x_max_u: 3.13990545273
	train_parallel_conv_convlayer_0_h3_max_x_mean_u: 0.447307050228
	train_parallel_conv_convlayer_0_h3_max_x_min_u: 0.0
	train_parallel_conv_convlayer_0_h3_mean_x_max_u: 1.32652020454
	train_parallel_conv_convlayer_0_h3_mean_x_mean_u: 0.0968764275312
	train_parallel_conv_convlayer_0_h3_mean_x_min_u: 0.0
	train_parallel_conv_convlayer_0_h3_min_x_max_u: 0.246468260884
	train_parallel_conv_convlayer_0_h3_min_x_mean_u: 0.00146183185279
	train_parallel_conv_convlayer_0_h3_min_x_min_u: 0.0
	train_parallel_conv_convlayer_0_h3_range_x_max_u: 3.13013648987
	train_parallel_conv_convlayer_0_h3_range_x_mean_u: 0.445845127106
	train_parallel_conv_convlayer_0_h3_range_x_min_u: 0.0
	train_parallel_conv_convlayer_0_h4_kernel_norms_max: 0.697723150253
	train_parallel_conv_convlayer_0_h4_kernel_norms_mean: 0.523361980915
	train_parallel_conv_convlayer_0_h4_kernel_norms_min: 0.472826331854
	train_parallel_conv_convlayer_0_h4_max_x_max_u: 1.82907652855
	train_parallel_conv_convlayer_0_h4_max_x_mean_u: 0.456562638283
	train_parallel_conv_convlayer_0_h4_max_x_min_u: 0.0
	train_parallel_conv_convlayer_0_h4_mean_x_max_u: 0.828687250614
	train_parallel_conv_convlayer_0_h4_mean_x_mean_u: 0.123961105943
	train_parallel_conv_convlayer_0_h4_mean_x_min_u: 0.0
	train_parallel_conv_convlayer_0_h4_min_x_max_u: 0.223433226347
	train_parallel_conv_convlayer_0_h4_min_x_mean_u: 0.00598476547748
	train_parallel_conv_convlayer_0_h4_min_x_min_u: 0.0
	train_parallel_conv_convlayer_0_h4_range_x_max_u: 1.79401361942
	train_parallel_conv_convlayer_0_h4_range_x_mean_u: 0.450577795506
	train_parallel_conv_convlayer_0_h4_range_x_min_u: 0.0
	train_parallel_conv_convlayer_1_h1_kernel_norms_max: 0.362680464983
	train_parallel_conv_convlayer_1_h1_kernel_norms_mean: 0.207464158535
	train_parallel_conv_convlayer_1_h1_kernel_norms_min: 0.106586754322
	train_parallel_conv_convlayer_1_h1_max_x_max_u: 6.40107011795
	train_parallel_conv_convlayer_1_h1_max_x_mean_u: 0.677732646465
	train_parallel_conv_convlayer_1_h1_max_x_min_u: 0.00505520496517
	train_parallel_conv_convlayer_1_h1_mean_x_max_u: 2.24661064148
	train_parallel_conv_convlayer_1_h1_mean_x_mean_u: 0.232000291348
	train_parallel_conv_convlayer_1_h1_mean_x_min_u: 0.000251832243521
	train_parallel_conv_convlayer_1_h1_min_x_max_u: 0.583386659622
	train_parallel_conv_convlayer_1_h1_min_x_mean_u: 0.0155272400007
	train_parallel_conv_convlayer_1_h1_min_x_min_u: 0.0
	train_parallel_conv_convlayer_1_h1_range_x_max_u: 6.39599657059
	train_parallel_conv_convlayer_1_h1_range_x_mean_u: 0.662205457687
	train_parallel_conv_convlayer_1_h1_range_x_min_u: 0.00505520496517
	train_parallel_conv_convlayer_1_h2_kernel_norms_max: 0.791261017323
	train_parallel_conv_convlayer_1_h2_kernel_norms_mean: 0.525717079639
	train_parallel_conv_convlayer_1_h2_kernel_norms_min: 0.492962568998
	train_parallel_conv_convlayer_1_h2_max_x_max_u: 5.4395108223
	train_parallel_conv_convlayer_1_h2_max_x_mean_u: 0.805915772915
	train_parallel_conv_convlayer_1_h2_max_x_min_u: 0.0
	train_parallel_conv_convlayer_1_h2_mean_x_max_u: 2.06599450111
	train_parallel_conv_convlayer_1_h2_mean_x_mean_u: 0.269269913435
	train_parallel_conv_convlayer_1_h2_mean_x_min_u: 0.0
	train_parallel_conv_convlayer_1_h2_min_x_max_u: 0.630409777164
	train_parallel_conv_convlayer_1_h2_min_x_mean_u: 0.00974809378386
	train_parallel_conv_convlayer_1_h2_min_x_min_u: 0.0
	train_parallel_conv_convlayer_1_h2_range_x_max_u: 5.43676424026
	train_parallel_conv_convlayer_1_h2_range_x_mean_u: 0.79616767168
	train_parallel_conv_convlayer_1_h2_range_x_min_u: 0.0
	train_parallel_conv_convlayer_1_h3_kernel_norms_max: 0.579361915588
	train_parallel_conv_convlayer_1_h3_kernel_norms_mean: 0.451009869576
	train_parallel_conv_convlayer_1_h3_kernel_norms_min: 0.413096368313
	train_parallel_conv_convlayer_1_h3_max_x_max_u: 2.4846599102
	train_parallel_conv_convlayer_1_h3_max_x_mean_u: 0.505421578884
	train_parallel_conv_convlayer_1_h3_max_x_min_u: 0.0
	train_parallel_conv_convlayer_1_h3_mean_x_max_u: 1.46230173111
	train_parallel_conv_convlayer_1_h3_mean_x_mean_u: 0.114504881203
	train_parallel_conv_convlayer_1_h3_mean_x_min_u: 0.0
	train_parallel_conv_convlayer_1_h3_min_x_max_u: 0.23105597496
	train_parallel_conv_convlayer_1_h3_min_x_mean_u: 0.001295090653
	train_parallel_conv_convlayer_1_h3_min_x_min_u: 0.0
	train_parallel_conv_convlayer_1_h3_range_x_max_u: 2.4829313755
	train_parallel_conv_convlayer_1_h3_range_x_mean_u: 0.504126369953
	train_parallel_conv_convlayer_1_h3_range_x_min_u: 0.0
	train_parallel_conv_convlayer_1_h4_kernel_norms_max: 0.764138579369
	train_parallel_conv_convlayer_1_h4_kernel_norms_mean: 0.530962049961
	train_parallel_conv_convlayer_1_h4_kernel_norms_min: 0.473069578409
	train_parallel_conv_convlayer_1_h4_max_x_max_u: 2.27716469765
	train_parallel_conv_convlayer_1_h4_max_x_mean_u: 0.445860505104
	train_parallel_conv_convlayer_1_h4_max_x_min_u: 0.0
	train_parallel_conv_convlayer_1_h4_mean_x_max_u: 1.11516714096
	train_parallel_conv_convlayer_1_h4_mean_x_mean_u: 0.134469747543
	train_parallel_conv_convlayer_1_h4_mean_x_min_u: 0.0
	train_parallel_conv_convlayer_1_h4_min_x_max_u: 0.132180556655
	train_parallel_conv_convlayer_1_h4_min_x_mean_u: 0.00412181252614
	train_parallel_conv_convlayer_1_h4_min_x_min_u: 0.0
	train_parallel_conv_convlayer_1_h4_range_x_max_u: 2.22947049141
	train_parallel_conv_convlayer_1_h4_range_x_mean_u: 0.441738754511
	train_parallel_conv_convlayer_1_h4_range_x_min_u: 0.0
	train_term_0: 3.4129357338
	train_term_1_weight_decay: 0.0416230931878
	train_y_col_norms_max: 1.6927895546
	train_y_col_norms_mean: 1.60520637035
	train_y_col_norms_min: 1.53575587273
	train_y_max_max_class: 0.301825553179
	train_y_mean_max_class: 0.127698779106
	train_y_min_max_class: 0.0284801926464
	train_y_misclass: 0.747065067291
	train_y_nll: 3.30584859848
	train_y_row_norms_max: 0.648541748524
	train_y_row_norms_mean: 0.550803303719
	train_y_row_norms_min: 0.439042061567
	training_seconds_this_epoch: 250.816085815
	valid_h5_col_norms_max: 0.906716525555
	valid_h5_col_norms_mean: 0.798040628433
	valid_h5_col_norms_min: 0.696653842926
	valid_h5_max_x_max_u: 1.67854833603
	valid_h5_max_x_mean_u: 0.385626792908
	valid_h5_max_x_min_u: 0.0
	valid_h5_mean_x_max_u: 0.823898792267
	valid_h5_mean_x_mean_u: 0.109809935093
	valid_h5_mean_x_min_u: 0.0
	valid_h5_min_x_max_u: 0.243083953857
	valid_h5_min_x_mean_u: 0.00341552100144
	valid_h5_min_x_min_u: 0.0
	valid_h5_range_x_max_u: 1.65398263931
	valid_h5_range_x_mean_u: 0.382211327553
	valid_h5_range_x_min_u: 0.0
	valid_h5_row_norms_max: 1.686835289
	valid_h5_row_norms_mean: 1.59724700451
	valid_h5_row_norms_min: 1.51687633991
	valid_objective: 3.44146132469
	valid_parallel_conv_convlayer_0_h1_kernel_norms_max: 0.48931312561
	valid_parallel_conv_convlayer_0_h1_kernel_norms_mean: 0.176306173205
	valid_parallel_conv_convlayer_0_h1_kernel_norms_min: 0.109685868025
	valid_parallel_conv_convlayer_0_h1_max_x_max_u: 8.85342216492
	valid_parallel_conv_convlayer_0_h1_max_x_mean_u: 0.626966834068
	valid_parallel_conv_convlayer_0_h1_max_x_min_u: 0.00835212692618
	valid_parallel_conv_convlayer_0_h1_mean_x_max_u: 3.36678147316
	valid_parallel_conv_convlayer_0_h1_mean_x_mean_u: 0.168438434601
	valid_parallel_conv_convlayer_0_h1_mean_x_min_u: 0.00041660660645
	valid_parallel_conv_convlayer_0_h1_min_x_max_u: 0.397448658943
	valid_parallel_conv_convlayer_0_h1_min_x_mean_u: 0.0069158738479
	valid_parallel_conv_convlayer_0_h1_min_x_min_u: 0.0
	valid_parallel_conv_convlayer_0_h1_range_x_max_u: 8.85342216492
	valid_parallel_conv_convlayer_0_h1_range_x_mean_u: 0.620051026344
	valid_parallel_conv_convlayer_0_h1_range_x_min_u: 0.00835212692618
	valid_parallel_conv_convlayer_0_h2_kernel_norms_max: 0.594673275948
	valid_parallel_conv_convlayer_0_h2_kernel_norms_mean: 0.512997508049
	valid_parallel_conv_convlayer_0_h2_kernel_norms_min: 0.492839097977
	valid_parallel_conv_convlayer_0_h2_max_x_max_u: 4.35841989517
	valid_parallel_conv_convlayer_0_h2_max_x_mean_u: 0.787409901619
	valid_parallel_conv_convlayer_0_h2_max_x_min_u: 0.0
	valid_parallel_conv_convlayer_0_h2_mean_x_max_u: 2.22882175446
	valid_parallel_conv_convlayer_0_h2_mean_x_mean_u: 0.122500211
	valid_parallel_conv_convlayer_0_h2_mean_x_min_u: 0.0
	valid_parallel_conv_convlayer_0_h2_min_x_max_u: 0.664290964603
	valid_parallel_conv_convlayer_0_h2_min_x_mean_u: 0.001258776756
	valid_parallel_conv_convlayer_0_h2_min_x_min_u: 0.0
	valid_parallel_conv_convlayer_0_h2_range_x_max_u: 4.35634183884
	valid_parallel_conv_convlayer_0_h2_range_x_mean_u: 0.786150932312
	valid_parallel_conv_convlayer_0_h2_range_x_min_u: 0.0
	valid_parallel_conv_convlayer_0_h3_kernel_norms_max: 0.552426576614
	valid_parallel_conv_convlayer_0_h3_kernel_norms_mean: 0.444584220648
	valid_parallel_conv_convlayer_0_h3_kernel_norms_min: 0.407794803381
	valid_parallel_conv_convlayer_0_h3_max_x_max_u: 3.42797875404
	valid_parallel_conv_convlayer_0_h3_max_x_mean_u: 0.479245573282
	valid_parallel_conv_convlayer_0_h3_max_x_min_u: 0.0
	valid_parallel_conv_convlayer_0_h3_mean_x_max_u: 1.24778211117
	valid_parallel_conv_convlayer_0_h3_mean_x_mean_u: 0.0964429676533
	valid_parallel_conv_convlayer_0_h3_mean_x_min_u: 0.0
	valid_parallel_conv_convlayer_0_h3_min_x_max_u: 0.160823628306
	valid_parallel_conv_convlayer_0_h3_min_x_mean_u: 0.00054066919256
	valid_parallel_conv_convlayer_0_h3_min_x_min_u: 0.0
	valid_parallel_conv_convlayer_0_h3_range_x_max_u: 3.42037153244
	valid_parallel_conv_convlayer_0_h3_range_x_mean_u: 0.478704929352
	valid_parallel_conv_convlayer_0_h3_range_x_min_u: 0.0
	valid_parallel_conv_convlayer_0_h4_kernel_norms_max: 0.697722911835
	valid_parallel_conv_convlayer_0_h4_kernel_norms_mean: 0.523361444473
	valid_parallel_conv_convlayer_0_h4_kernel_norms_min: 0.472826629877
	valid_parallel_conv_convlayer_0_h4_max_x_max_u: 1.99054694176
	valid_parallel_conv_convlayer_0_h4_max_x_mean_u: 0.511556506157
	valid_parallel_conv_convlayer_0_h4_max_x_min_u: 0.0
	valid_parallel_conv_convlayer_0_h4_mean_x_max_u: 0.766903162003
	valid_parallel_conv_convlayer_0_h4_mean_x_mean_u: 0.124849721789
	valid_parallel_conv_convlayer_0_h4_mean_x_min_u: 0.0
	valid_parallel_conv_convlayer_0_h4_min_x_max_u: 0.169701620936
	valid_parallel_conv_convlayer_0_h4_min_x_mean_u: 0.00299464305863
	valid_parallel_conv_convlayer_0_h4_min_x_min_u: 0.0
	valid_parallel_conv_convlayer_0_h4_range_x_max_u: 1.9780305624
	valid_parallel_conv_convlayer_0_h4_range_x_mean_u: 0.508561849594
	valid_parallel_conv_convlayer_0_h4_range_x_min_u: 0.0
	valid_parallel_conv_convlayer_1_h1_kernel_norms_max: 0.362681150436
	valid_parallel_conv_convlayer_1_h1_kernel_norms_mean: 0.207464054227
	valid_parallel_conv_convlayer_1_h1_kernel_norms_min: 0.106586933136
	valid_parallel_conv_convlayer_1_h1_max_x_max_u: 6.66239976883
	valid_parallel_conv_convlayer_1_h1_max_x_mean_u: 0.721830606461
	valid_parallel_conv_convlayer_1_h1_max_x_min_u: 0.0115130655468
	valid_parallel_conv_convlayer_1_h1_mean_x_max_u: 2.15081119537
	valid_parallel_conv_convlayer_1_h1_mean_x_mean_u: 0.231660664082
	valid_parallel_conv_convlayer_1_h1_mean_x_min_u: 0.000451299420092
	valid_parallel_conv_convlayer_1_h1_min_x_max_u: 0.471650928259
	valid_parallel_conv_convlayer_1_h1_min_x_mean_u: 0.0103273298591
	valid_parallel_conv_convlayer_1_h1_min_x_min_u: 0.0
	valid_parallel_conv_convlayer_1_h1_range_x_max_u: 6.65628480911
	valid_parallel_conv_convlayer_1_h1_range_x_mean_u: 0.711503207684
	valid_parallel_conv_convlayer_1_h1_range_x_min_u: 0.0115130655468
	valid_parallel_conv_convlayer_1_h2_kernel_norms_max: 0.791259646416
	valid_parallel_conv_convlayer_1_h2_kernel_norms_mean: 0.525717914104
	valid_parallel_conv_convlayer_1_h2_kernel_norms_min: 0.492961645126
	valid_parallel_conv_convlayer_1_h2_max_x_max_u: 5.92206192017
	valid_parallel_conv_convlayer_1_h2_max_x_mean_u: 0.862460196018
	valid_parallel_conv_convlayer_1_h2_max_x_min_u: 0.0
	valid_parallel_conv_convlayer_1_h2_mean_x_max_u: 1.94417667389
	valid_parallel_conv_convlayer_1_h2_mean_x_mean_u: 0.269337356091
	valid_parallel_conv_convlayer_1_h2_mean_x_min_u: 0.0
	valid_parallel_conv_convlayer_1_h2_min_x_max_u: 0.514207184315
	valid_parallel_conv_convlayer_1_h2_min_x_mean_u: 0.00497236754745
	valid_parallel_conv_convlayer_1_h2_min_x_min_u: 0.0
	valid_parallel_conv_convlayer_1_h2_range_x_max_u: 5.92206192017
	valid_parallel_conv_convlayer_1_h2_range_x_mean_u: 0.857487857342
	valid_parallel_conv_convlayer_1_h2_range_x_min_u: 0.0
	valid_parallel_conv_convlayer_1_h3_kernel_norms_max: 0.579361736774
	valid_parallel_conv_convlayer_1_h3_kernel_norms_mean: 0.451009660959
	valid_parallel_conv_convlayer_1_h3_kernel_norms_min: 0.413095593452
	valid_parallel_conv_convlayer_1_h3_max_x_max_u: 2.59400081635
	valid_parallel_conv_convlayer_1_h3_max_x_mean_u: 0.55203551054
	valid_parallel_conv_convlayer_1_h3_max_x_min_u: 0.0
	valid_parallel_conv_convlayer_1_h3_mean_x_max_u: 1.42622315884
	valid_parallel_conv_convlayer_1_h3_mean_x_mean_u: 0.114242553711
	valid_parallel_conv_convlayer_1_h3_mean_x_min_u: 0.0
	valid_parallel_conv_convlayer_1_h3_min_x_max_u: 0.132261544466
	valid_parallel_conv_convlayer_1_h3_min_x_mean_u: 0.000350362533936
	valid_parallel_conv_convlayer_1_h3_min_x_min_u: 0.0
	valid_parallel_conv_convlayer_1_h3_range_x_max_u: 2.59400081635
	valid_parallel_conv_convlayer_1_h3_range_x_mean_u: 0.551685214043
	valid_parallel_conv_convlayer_1_h3_range_x_min_u: 0.0
	valid_parallel_conv_convlayer_1_h4_kernel_norms_max: 0.764139771461
	valid_parallel_conv_convlayer_1_h4_kernel_norms_mean: 0.530962347984
	valid_parallel_conv_convlayer_1_h4_kernel_norms_min: 0.47306984663
	valid_parallel_conv_convlayer_1_h4_max_x_max_u: 2.43427181244
	valid_parallel_conv_convlayer_1_h4_max_x_mean_u: 0.507980942726
	valid_parallel_conv_convlayer_1_h4_max_x_min_u: 0.0
	valid_parallel_conv_convlayer_1_h4_mean_x_max_u: 0.983184814453
	valid_parallel_conv_convlayer_1_h4_mean_x_mean_u: 0.133856862783
	valid_parallel_conv_convlayer_1_h4_mean_x_min_u: 0.0
	valid_parallel_conv_convlayer_1_h4_min_x_max_u: 0.034651812166
	valid_parallel_conv_convlayer_1_h4_min_x_mean_u: 0.000932405120693
	valid_parallel_conv_convlayer_1_h4_min_x_min_u: 0.0
	valid_parallel_conv_convlayer_1_h4_range_x_max_u: 2.42422795296
	valid_parallel_conv_convlayer_1_h4_range_x_mean_u: 0.507048547268
	valid_parallel_conv_convlayer_1_h4_range_x_min_u: 0.0
	valid_term_0: 3.40211772919
	valid_term_1_weight_decay: 0.0416231043637
	valid_y_col_norms_max: 1.69279277325
	valid_y_col_norms_mean: 1.60520493984
	valid_y_col_norms_min: 1.53575646877
	valid_y_max_max_class: 0.331602334976
	valid_y_mean_max_class: 0.12965041399
	valid_y_min_max_class: 0.0234878007323
	valid_y_misclass: 0.75203794241
	valid_y_nll: 3.28953194618
	valid_y_row_norms_max: 0.648540854454
	valid_y_row_norms_mean: 0.550802350044
	valid_y_row_norms_min: 0.439043015242
Saving to /disk/scratch/neuroglycerin/models/parallel_interactive.pkl...
Saving to /disk/scratch/neuroglycerin/models/parallel_interactive.pkl done. Time elapsed: 0.540695 seconds
monitoring channel is valid_y_nll
Saving to /disk/scratch/neuroglycerin/models/parallel_interactive_recent.pkl...
Saving to /disk/scratch/neuroglycerin/models/parallel_interactive_recent.pkl done. Time elapsed: 0.539576 seconds
Time this epoch: 0:04:11.480547
---------------------------------------------------------------------------
KeyboardInterrupt                         Traceback (most recent call last)
<ipython-input-29-c7cf1da1badc> in <module>()
----> 1 train.main_loop()

/afs/inf.ed.ac.uk/user/s08/s0805516/repos/pylearn2/pylearn2/train.pyc in main_loop(self, time_budget)
    213                                          "continues.")
    214                     self.model.monitor.report_epoch()
--> 215                     extension_continue = self.run_callbacks_and_monitoring()
    216                     if self.save_freq > 0 and \
    217                        self.model.monitor.get_epochs_seen() % self.save_freq == 0:

/afs/inf.ed.ac.uk/user/s08/s0805516/repos/pylearn2/pylearn2/train.pyc in run_callbacks_and_monitoring(self)
    240             extension wants to stop learning.
    241         """
--> 242         self.model.monitor()
    243         continue_learning = True
    244         for extension in self.extensions:

/afs/inf.ed.ac.uk/user/s08/s0805516/repos/pylearn2/pylearn2/monitor.pyc in __call__(self)
    255                     # X is a flat (not nested) tuple
    256                     self.run_prereqs(X, d)
--> 257                     a(*X)
    258                     actual_ne += self._flat_data_specs[0].np_batch_size(X)
    259                 # end for X

/afs/inf.ed.ac.uk/user/s08/s0805516/repos/Theano/theano/compile/function_module.pyc in __call__(self, *args, **kwargs)
    593         t0_fn = time.time()
    594         try:
--> 595             outputs = self.fn()
    596         except Exception:
    597             if hasattr(self.fn, 'position_of_error'):

/afs/inf.ed.ac.uk/user/s08/s0805516/repos/Theano/theano/gof/op.pyc in rval(p, i, o, n)
    739         if ctx is graph.NoContext:
    740             # default arguments are stored in the closure of `rval`
--> 741             def rval(p=p, i=node_input_storage, o=node_output_storage, n=node):
    742                 r = p(n, [x[0] for x in i], o)
    743                 for o in node.outputs:

KeyboardInterrupt: