Пример #1
0
 def test_cross_validator_train_model(self, and_dataset):
     validator = ml.CrossValidator(ml.ForwardFeedNetwork, (2, 1))
     ann = ml.ForwardFeedNetwork((2, 1))
     error_before = ann.cost(and_dataset)
     max_epoch = ml.max_epochs(20)
     validator.model_args = (0.1, max_epoch)
     validator.train(ann, and_dataset, and_dataset)
     error_after = ann.cost(and_dataset)
     assert error_after < error_before
Пример #2
0
def test_mlp_ann_train_and_logic_function(and_dataset):
    ann = ml.ForwardFeedNetwork((2, 1))
    ann.train(and_dataset, None, 0.2, ml.max_epochs(100))
    results = ann.forward_feed(and_dataset[:, :2])
    assert results.shape == (4, 1)
    results = results.reshape(4)
    assert results[0] < 0.5
    assert results[1] < 0.5
    assert results[2] < 0.5
    assert results[3] > 0.5
Пример #3
0
def test_cross_validator(xor_dataset):
    ann_args = {'alpha': 0.1, 'stopping_criteria': ml.max_epochs(5000)}
    validator = ml.CrossValidator(ml.ForwardFeedNetwork, (2, 2, 1))
    validator.run(xor_dataset, 4, **ann_args)
Пример #4
0
import ml
import pickle
import mnisttk
import logging


logging.basicConfig(level=logging.INFO)


data = mnisttk.load_train_data("/home/stderr/.mnist")
validator = ml.CrossValidator(ml.ForwardFeedNetwork, (28 * 28, 100, 10))

try:
    models = validator.run(data, 5, 0.4, ml.max_epochs(100))
finally:
    with open("results/mnist.ann", "wb") as fp:
        pickle.dump(models, fp)
Пример #5
0
 def test_mlp_ann_train_sanity(self, xor_dataset):
     ann = ml.ForwardFeedNetwork((2, 2, 1))
     training = ann.train(xor_dataset, None, 0.2, ml.max_epochs(5))
     assert training.epoch == 5
Пример #6
0
 def test_max_epoch_stopping_criteria(self):
     Trainer = namedtuple('Trainer', ['epoch'])
     stopping_function = ml.max_epochs(10)
     assert not stopping_function(Trainer(9))
     assert stopping_function(Trainer(10))
     assert stopping_function(Trainer(11))