Skip to content

Commit

Permalink
Added rng to train_jfa method.
Browse files Browse the repository at this point in the history
  • Loading branch information
Manuel Guenther committed Mar 6, 2015
1 parent 1eab675 commit 8619c0c
Showing 1 changed file with 15 additions and 10 deletions.
25 changes: 15 additions & 10 deletions bob/learn/em/train.py
Original file line number Diff line number Diff line change
Expand Up @@ -57,25 +57,30 @@ def train(trainer, machine, data, max_iterations = 50, convergence_threshold=Non
trainer.finalize(machine, data)


def train_jfa(trainer, jfa_base, data, max_iterations=10, initialize=True):
def train_jfa(trainer, jfa_base, data, max_iterations=10, initialize=True, rng=None):
"""
Trains a :py:class`bob.learn.em.JFABase` given a :py:class`bob.learn.em.JFATrainer` and the proper data
**Parameters**:
trainer
A trainer mechanism (:py:class`bob.learn.em.JFATrainer`)
machine
A container machine (:py:class`bob.learn.em.JFABase`)
data
The data to be trained list(list(:py:class`bob.learn.em.GMMStats`))
max_iterations
trainer : :py:class`bob.learn.em.JFATrainer`
A JFA trainer mechanism
jfa_base : :py:class`bob.learn.em.JFABase`
A container machine
data : [[:py:class`bob.learn.em.GMMStats`]]
The data to be trained
max_iterations : int
The maximum number of iterations to train a machine
initialize
initialize : bool
If True, runs the initialization procedure
rng : :py:class:`bob.core.random.mt19937`
The Mersenne Twister mt19937 random generator used for the initialization of subspaces/arrays before the EM loops
"""

if initialize:
trainer.initialize(jfa_base, data)
if rng is not None:
trainer.initialize(jfa_base, data, rng)
else:
trainer.initialize(jfa_base, data)

#V Subspace
for i in range(max_iterations):
Expand Down

0 comments on commit 8619c0c

Please sign in to comment.