### Navigation

- index
- modules |
- next |
- previous |
- PyBrain v0.3 documentation »

# Training your Network on your Dataset

For adjusting parameters of modules in supervised learning, PyBrain has the concept of trainers. Trainers take a module and a dataset in order to train the module to fit the data in the dataset.

A classic example for training is backpropagation. PyBrain comes with backpropagation, of course, and we will use the `BackpropTrainer` here:

    >>> from pybrain.supervised.trainers import BackpropTrainer

We have already build a dataset for XOR and we have also learned to build networks that can handle such problems. Let’s just connect the two with a trainer:

    >>> net = buildNetwork(2, 3, 1, bias=True, hiddenclass=TanhLayer)
    >>> trainer = BackpropTrainer(net, ds)

The trainer now knows about the network and the dataset and we can train the net on the data:

    >>> trainer.train()
    0.31516384514375834

This call trains the net for one full epoch and returns a double proportional to the error. If we want to train the network until convergence, there is another method:

    >>> trainer.trainUntilConvergence()
    ...

This returns a whole bunch of data, which is nothing but a tuple containing the errors for every training epoch.

### Navigation

- index
- modules |
- next |
- previous |
- PyBrain v0.3 documentation »