From 637be86369ac087c018f4186ab7cb49b5c34e8be Mon Sep 17 00:00:00 2001 From: Max Zwiessele Date: Fri, 18 Sep 2015 16:21:31 +0100 Subject: [PATCH] [yak shaving] --- GPy/core/parameterization/parameterized.py | 4 ++-- GPy/inference/mcmc/samplers.py | 2 +- GPy/util/initialization.py | 14 +++++++++++--- 3 files changed, 14 insertions(+), 6 deletions(-) diff --git a/GPy/core/parameterization/parameterized.py b/GPy/core/parameterization/parameterized.py index 5aa95695..7f67c497 100644 --- a/GPy/core/parameterization/parameterized.py +++ b/GPy/core/parameterization/parameterized.py @@ -314,8 +314,8 @@ class Parameterized(Parameterizable): if name in pnames: param = self.parameters[pnames.index(name)] param[:] = val; return - except AttributeError: - pass + except AttributeError as a: + raise return object.__setattr__(self, name, val); #=========================================================================== diff --git a/GPy/inference/mcmc/samplers.py b/GPy/inference/mcmc/samplers.py index 12939cfe..5ec684cc 100644 --- a/GPy/inference/mcmc/samplers.py +++ b/GPy/inference/mcmc/samplers.py @@ -14,7 +14,7 @@ except ImportError: import pickle -class Metropolis_Hastings: +class Metropolis_Hastings(object): def __init__(self,model,cov=None): """Metropolis Hastings, with tunings according to Gelman et al. """ self.model = model diff --git a/GPy/util/initialization.py b/GPy/util/initialization.py index 1cf9e846..1e19a321 100644 --- a/GPy/util/initialization.py +++ b/GPy/util/initialization.py @@ -5,15 +5,23 @@ Created on 24 Feb 2014 ''' import numpy as np -from GPy.util.pca import PCA +from ..util.pca import PCA def initialize_latent(init, input_dim, Y): - Xr = np.asfortranarray(np.random.randn(Y.shape[0], input_dim)) - if init == 'PCA': + Xr = np.asfortranarray(np.random.normal(0, 1, (Y.shape[0], input_dim))) + if 'PCA' in init: p = PCA(Y) PC = p.project(Y, min(input_dim, Y.shape[1])) Xr[:PC.shape[0], :PC.shape[1]] = PC var = .1*p.fracs[:input_dim] + elif init in 'empirical_samples': + from ..util.linalg import tdot + from ..util import diag + YYT = tdot(Y) + diag.add(YYT, 1e-6) + EMP = np.asfortranarray(np.random.multivariate_normal(np.zeros(Y.shape[0]), YYT, min(input_dim, Y.shape[1])).T) + Xr[:EMP.shape[0], :EMP.shape[1]] = EMP + var = np.random.uniform(0.5, 1.5, input_dim) else: var = Xr.var(0)