pip install Pylearn2
python
import numpy as np
import theano
import theano.tensor as T
from pylearn2.models import mlp
from pylearn2.train_extensions import best_params
from pylearn2.training_algorithms import sgd
from pylearn2.termination_criteria import EpochCounter
from pylearn2.datasets import DenseDesignMatrix
from pylearn2.training_algorithms.learning_rule import Momentum
from pylearn2.training_algorithms.learning_rule import MomentumAdjustor
from pylearn2.train import Train
class MyDataset(DenseDesignMatrix):
def __init__(self, X, y=None, y_labels=None):
super(MyDataset, self).__init__(X=X, y=y)
self.y_labels = y_labels
layers = [mlp.Sigmoid(layer_name='h0', dim=100, irange=0.2),
mlp.Softmax(layer_name='y', n_classes=output_size, irange=0.2)]
model = mlp.MLP(layers, nvis=input_size)
train_dataset = MyDataset(X=X_train, y=y_train)
unlabeled_dataset = MyDataset(X=X_unlabeled)
momentum = Momentum(0.9)
learning_algorithm = sgd.SGD(batch_size=10, learning_rate=lr,
learning_rule=momentum, termination_criterion=EpochCounter(10))
model.cost = mlp.ClassificationCost()
extensions = [MomentumAdjustor(start=1, saturate=10, final_momentum=0.99)]
algorithm = Train(train_dataset=train_dataset, model=model,
learning_algorithm=learning_algorithm,
extensions=extensions)
algorithm.main_loop()
print(y_pred)