model robustness greatly improved and avisualize adjustments for plot_latent

This commit is contained in:
Max Zwiessele 2013-06-07 17:11:45 +01:00
parent 73bed5be82
commit 5f1445bf04
3 changed files with 10 additions and 10 deletions

View file

@ -237,7 +237,7 @@ class Model(Parameterised):
try:
self._set_params_transformed(x)
self._fail_count = 0
except (LinAlgError, ZeroDivisionError) as e:
except (LinAlgError, ZeroDivisionError, ValueError) as e:
if self._fail_count >= self._allowed_failures:
raise e
self._fail_count += 1
@ -255,7 +255,7 @@ class Model(Parameterised):
try:
self._set_params_transformed(x)
self._fail_count = 0
except (LinAlgError, ZeroDivisionError) as e:
except (LinAlgError, ZeroDivisionError, ValueError) as e:
if self._fail_count >= self._allowed_failures:
raise e
self._fail_count += 1
@ -267,7 +267,7 @@ class Model(Parameterised):
self._set_params_transformed(x)
obj_f = -self.log_likelihood() - self.log_prior()
self._fail_count = 0
except (LinAlgError, ZeroDivisionError) as e:
except (LinAlgError, ZeroDivisionError, ValueError) as e:
if self._fail_count >= self._allowed_failures:
raise e
self._fail_count += 1

View file

@ -2,7 +2,7 @@
# Licensed under the BSD 3-clause license (see LICENSE.txt)
import numpy as np
from matplotlib import pyplot as plt
from matplotlib import pyplot as plt, cm
import GPy
from GPy.core.transformations import logexp
@ -182,7 +182,7 @@ def _simulate_sincos(D1, D2, D3, N, num_inducing, Q, plot_sim=False):
sS = sS(x)
S1 = np.hstack([s1, sS])
S2 = np.hstack([s2, sS])
S2 = np.hstack([s2, s3, sS])
S3 = np.hstack([s3, sS])
Y1 = S1.dot(np.random.randn(S1.shape[1], D1))
@ -216,7 +216,7 @@ def _simulate_sincos(D1, D2, D3, N, num_inducing, Q, plot_sim=False):
ax.legend()
for i, Y in enumerate(Ylist):
ax = fig.add_subplot(2, len(Ylist), len(Ylist) + 1 + i)
ax.imshow(Y)
ax.imshow(Y, aspect='auto', cmap=cm.gray) # @UndefinedVariable
ax.set_title("Y{}".format(i + 1))
pylab.draw()
pylab.tight_layout()
@ -298,7 +298,7 @@ def mrd_simulation(optimize=True, plot=True, plot_sim=True, **kw):
if optimize:
print "Optimizing Model:"
m.optimize('scg', messages=1, max_iters=8e3, max_f_eval=8e3, gtol=.1)
m.optimize(messages=1, max_iters=8e3, max_f_eval=8e3, gtol=.1)
if plot:
m.plot_X_1d("MRD Latent Space 1D")
m.plot_scales("MRD Scales")

View file

@ -193,7 +193,7 @@ class lvm_dimselect(lvm):
GPy.examples.dimensionality_reduction.BGPVLM_oil()
"""
def __init__(self, vals, Model, data_visualize, latent_axes=None, sense_axes=None, latent_index=[0, 1]):
def __init__(self, vals, Model, data_visualize, latent_axes=None, sense_axes=None, latent_index=[0, 1], labels=None):
if latent_axes==None and sense_axes==None:
self.fig,(latent_axes,self.sense_axes) = plt.subplots(1,2)
elif sense_axes==None:
@ -201,7 +201,7 @@ class lvm_dimselect(lvm):
self.sense_axes = fig.add_subplot(111)
else:
self.sense_axes = sense_axes
self.labels = labels
lvm.__init__(self,vals,Model,data_visualize,latent_axes,sense_axes,latent_index)
print "use left and right mouse butons to select dimensions"
@ -221,7 +221,7 @@ class lvm_dimselect(lvm):
self.latent_axes.cla()
self.Model.plot_latent(which_indices=self.latent_index,
ax=self.latent_axes)
ax=self.latent_axes, labels=self.labels)
self.latent_handle = self.latent_axes.plot([0],[0],'rx',mew=2)[0]
self.modify(self.latent_values)