python import numpy as np import theano import theano.tensor as T from pylearn2.models import mlp x = T.matrix('x') input_size = 10 hidden_size = 20 output_size = 2 hidden_layer = mlp.Sigmoid( layer_name='hidden', dim=hidden_size, sparse_init=15, irange=0.2 ) output_layer = mlp.Softmax( n_classes=output_size, layer_name='output' ) mlp_model = mlp.MLP( input=x, layers=[hidden_layer, output_layer], nvis=input_size ) train_fn = theano.function( inputs=[x], outputs=mlp_model.fprop(x), allow_input_downcast=True ) input_data = np.random.rand(100, input_size).astype(np.float32) train_fn(input_data) yaml !obj:pylearn2.train.Train { dataset: &train !obj:pylearn2.datasets.dense_design_matrix.DenseDesignMatrix { X: !!ndarray [ [0.0, 0.0, 1.0], [1.0, 0.0, 1.0], [0.0, 1.0, 1.0], [1.0, 1.0, 1.0] ], y: !!ndarray [ [0], [1], [1], [0] ] }, model: !obj:pylearn2.models.mlp.MLP { layers: [ !obj:pylearn2.models.mlp.Sigmoid { dim: 3, layer_name: h0, irange: 0.1, sparse_init: 15 }, !obj:pylearn2.models.mlp.Softmax { n_classes: 2, layer_name: y, irange: 0.1 } ], nvis: 3 }, algorithm: !obj:pylearn2.training_algorithms.sgd.SGD { learning_rate: 0.1, batch_size: 1, learning_rule: !obj:pylearn2.training_algorithms.learning_rule.Momentum { learning_rate: 0.001, momentum: 0.5, }, termination_criterion: !obj:pylearn2.termination_criteria.EpochCounter { max_epochs: 1000, } }, extensions: [ !obj:pylearn2.train_extensions.best_params.MonitorBasedSaveBest { channel_name: valid_y_misclass, save_path: best_model.pkl } ] } python -m pylearn2.train config.yaml


上一篇:
下一篇:
切换中文