pip install pylearn2
python
from pylearn2.datasets import cifar10
from pylearn2.models import mlp
from pylearn2.training_algorithms import sgd
from pylearn2.termination_criteria import EpochCounter
from pylearn2.train import Train
python
trainset = cifar10.CIFAR10(which_set='train')
validset = cifar10.CIFAR10(which_set='valid')
python
input_dim = trainset.X.shape[1]
output_dim = 10
hidden_layer_1 = mlp.Sigmoid(layer_name='hidden_1', dim=500, irange=0.05)
hidden_layer_2 = mlp.Sigmoid(layer_name='hidden_2', dim=500, irange=0.05)
output_layer = mlp.Softmax(layer_name='output', n_classes=output_dim, irange=0.05)
layers = [hidden_layer_1, hidden_layer_2, output_layer]
python
algorithm = sgd.SGD(
learning_rate=0.1,
batch_size=100,
termination_criterion=EpochCounter(max_epochs=10),
monitoring_dataset={'valid': validset}
)
trainer = Train(
dataset=trainset,
model=mlp.MLP(layers),
algorithm=algorithm,
extensions=None
)
python
trainer.main_loop()