LogUniform generates out of bound samples

Should sample uniformly between the log of lower bound and the log of the upper bound, then exponentiate

value = numpy.exp(random_state.uniform(numpy.log(self.lower), numpy.log(self.upper)))