In [2]:
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 2: 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 0x7fc692f8d910>
<matplotlib.figure.Figure at 0x7fc692fac2d0>
<matplotlib.figure.Figure at 0x7fc692fac0d0>

In [3]:
m = pylearn2.utils.serial.load(
    "/disk/scratch/neuroglycerin/models/resume_40aug.pkl")

In [4]:
import neukrill_net.plotting as pl
pl.monitor_channels(m, ["valid_y_nll"], x_axis = "epoch")


Out[4]:

In [13]:
m = pylearn2.utils.serial.load(
    "/disk/scratch/neuroglycerin/models/resume_40aug_recent.pkl")

In [14]:
import neukrill_net.plotting as pl
pl.monitor_channels(m, ["valid_y_nll"], x_axis = "epoch") + pl.monitor_channels(m, ["train_y_nll"], x_axis = "epoch")


Out[14]:

In [15]:
m = pylearn2.utils.serial.load(
    "/disk/scratch/neuroglycerin/models/resume_16aug.pkl")

In [16]:
import neukrill_net.plotting as pl
pl.monitor_channels(m, ["valid_y_nll"], x_axis = "epoch")


Out[16]:

In [17]:
m = pylearn2.utils.serial.load(
    "/disk/scratch/neuroglycerin/models/resume_16aug_recent.pkl")

In [18]:
import neukrill_net.plotting as pl
pl.monitor_channels(m, ["valid_y_nll"], x_axis = "epoch") + pl.monitor_channels(m, ["train_y_nll"], x_axis = "epoch")


Out[18]:

In [19]:
def make_curves(model, *args):
    curves = None
    for c in args:
        channel = m.monitor.channels[c]
        c = c[0].upper() + c[1:]
        if not curves:
            curves = hl.Curve(zip(channel.example_record,channel.val_record),group=c)
        else:
            curves += hl.Curve(zip(channel.example_record,channel.val_record),group=c)
    return curves

In [20]:
means = [c for c in sorted(m.monitor.channels.keys()) if "mean" in c and "norm" in c]
make_curves(m,*means)


Out[20]: