Random initialization of arrays is inconsistent
Created by: laurentes
At the C++ level, there are several options to generate random numbers. Across the library, this is currently not consistent: We sometimes rely on blitz++ ranlib, sometimes on boost. In addition, few classes allow the user to set a boost random number generator, whereas others allow him to set a seed.
We have decided to follow this approach:
- Always use boost at the C++ level
- Classes that make use of random numbers should provide a way to set the boost random number generator. We still have to discuss whether it is better to handle the boost random number generator through a reference or a boost::shared_ptr.
The goal is aim to converge to this design. This will involve:
Make the JFATrainer use boost rather than ranlib- Remove the seed attribute from:
KMeansTrainer-
PLDABaseTrainer(done by @laurentes)
- Check if we keep using a reference (or a boost::shared_ptr) in the following classes
- MLP
- DataShuffler
Please be aware that this will slightly affect the results afterwards, as the initial random matrices will be different