Maybe you can do the same thing which is done now with the NumPy RNG? Just initialize it when constructing the MLP class (see https://github.com/axeldavy/pylearn2/blob/layer_dropout/pylearn2/models/mlp.py#L428-L472) and then just use self.mlp.theano_rng all the time?