Пример #1
0
from pylearn2.models import mlp, maxout
from pylearn2.costs.mlp.dropout import Dropout
from pylearn2.training_algorithms import sgd, learning_rule
from pylearn2.termination_criteria import EpochCounter
from pylearn2.datasets import cifar10
from kaggle_dataset import kaggle_cifar10
from pylearn2.datasets.preprocessing import Pipeline, ZCA
from pylearn2.datasets.preprocessing import GlobalContrastNormalization
from pylearn2.space import Conv2DSpace
from pylearn2.train import Train
from pylearn2.train_extensions import best_params, window_flip
from pylearn2.utils import serial

trn = kaggle_cifar10('train',
                     one_hot=True,
                     datapath='/home/kkastner/kaggle_data/kaggle-cifar10',
                     max_count=40000,
                     axes=('c', 0, 1, 'b'))

tst = cifar10.CIFAR10('test',
                      toronto_prepro=False,
                      one_hot=True,
                      axes=('c', 0, 1, 'b'))

in_space = Conv2DSpace(shape=(32, 32),
                       num_channels=3,
                       axes=('c', 0, 1, 'b'))

l1 = maxout.MaxoutConvC01B(layer_name='l1',
                           pad=4,
                           tied_b=1,
Пример #2
0
    for i in xrange(ds.X.shape[0] / batch_size):
        x_arg = ds.X[i * batch_size:(i + 1) * batch_size, :]
        x_arg = ds.get_topological_view(x_arg)
        yhat.append(f(x_arg.astype(X.dtype)))
    return np.array(yhat)


preprocessor = serial.load('kaggle_cifar10_preprocessor.pkl')
mdl = serial.load('kaggle_cifar10_maxout_zca.pkl')
fname = 'kaggle_cifar10_results.csv'
test_size = 100000
sets = 300000 / test_size
res = np.zeros((sets, test_size), dtype='float32')
for n, i in enumerate([test_size * x for x in range(sets)]):
    ds = kaggle_cifar10('test',
                        datapath='/home/kkastner/kaggle_data/kaggle-cifar10',
                        one_hot=True,
                        start_idx=i,
                        max_count=test_size,
                        axes=('c', 0, 1, 'b'))
    ds.apply_preprocessor(preprocessor=preprocessor, can_fit=False)
    yhat = process(mdl, ds)
    print "start_idx", i
    res[n, :] = yhat.ravel()

converted_results = [['id', 'label']] + [[n + 1, ds.unconvert(int(x))]
                                         for n, x in enumerate(res.ravel())]
with open(fname, 'w') as f:
    csv_f = csv.writer(f, delimiter=',', quoting=csv.QUOTE_NONE)
    csv_f.writerows(converted_results)