'Encoder weights'

def init_params(self):

    self.input_mlp = TwoLayerMLP(self.state, self.rng, self.input_dim, (self.latent_dim * 2), self.latent_dim, self, ('_input_mlp_' + self.name))
    self.params += self.input_mlp.params
    self.Wl_mean_out = add_to_params(self.params, theano.shared(value=NormalInit(self.rng, self.latent_dim, self.latent_dim), name=('Wl_mean_out' + self.name)))
    self.bl_mean_out = add_to_params(self.params, theano.shared(value=np.zeros((self.latent_dim,), dtype='float32'), name=('bl_mean_out' + self.name)))
    self.Wl_std_out = add_to_params(self.params, theano.shared(value=NormalInit(self.rng, self.latent_dim, self.latent_dim), name=('Wl_std_out' + self.name)))
    self.bl_std_out = add_to_params(self.params, theano.shared(value=np.zeros((self.latent_dim,), dtype='float32'), name=('bl_std_out' + self.name)))
