mirror of
https://github.com/SheffieldML/GPy.git
synced 2026-05-12 05:22:38 +02:00
model robustness greatly improved and avisualize adjustments for plot_latent
This commit is contained in:
parent
73bed5be82
commit
5f1445bf04
3 changed files with 10 additions and 10 deletions
|
|
@ -237,7 +237,7 @@ class Model(Parameterised):
|
||||||
try:
|
try:
|
||||||
self._set_params_transformed(x)
|
self._set_params_transformed(x)
|
||||||
self._fail_count = 0
|
self._fail_count = 0
|
||||||
except (LinAlgError, ZeroDivisionError) as e:
|
except (LinAlgError, ZeroDivisionError, ValueError) as e:
|
||||||
if self._fail_count >= self._allowed_failures:
|
if self._fail_count >= self._allowed_failures:
|
||||||
raise e
|
raise e
|
||||||
self._fail_count += 1
|
self._fail_count += 1
|
||||||
|
|
@ -255,7 +255,7 @@ class Model(Parameterised):
|
||||||
try:
|
try:
|
||||||
self._set_params_transformed(x)
|
self._set_params_transformed(x)
|
||||||
self._fail_count = 0
|
self._fail_count = 0
|
||||||
except (LinAlgError, ZeroDivisionError) as e:
|
except (LinAlgError, ZeroDivisionError, ValueError) as e:
|
||||||
if self._fail_count >= self._allowed_failures:
|
if self._fail_count >= self._allowed_failures:
|
||||||
raise e
|
raise e
|
||||||
self._fail_count += 1
|
self._fail_count += 1
|
||||||
|
|
@ -267,7 +267,7 @@ class Model(Parameterised):
|
||||||
self._set_params_transformed(x)
|
self._set_params_transformed(x)
|
||||||
obj_f = -self.log_likelihood() - self.log_prior()
|
obj_f = -self.log_likelihood() - self.log_prior()
|
||||||
self._fail_count = 0
|
self._fail_count = 0
|
||||||
except (LinAlgError, ZeroDivisionError) as e:
|
except (LinAlgError, ZeroDivisionError, ValueError) as e:
|
||||||
if self._fail_count >= self._allowed_failures:
|
if self._fail_count >= self._allowed_failures:
|
||||||
raise e
|
raise e
|
||||||
self._fail_count += 1
|
self._fail_count += 1
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@
|
||||||
# Licensed under the BSD 3-clause license (see LICENSE.txt)
|
# Licensed under the BSD 3-clause license (see LICENSE.txt)
|
||||||
|
|
||||||
import numpy as np
|
import numpy as np
|
||||||
from matplotlib import pyplot as plt
|
from matplotlib import pyplot as plt, cm
|
||||||
|
|
||||||
import GPy
|
import GPy
|
||||||
from GPy.core.transformations import logexp
|
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)
|
sS = sS(x)
|
||||||
|
|
||||||
S1 = np.hstack([s1, sS])
|
S1 = np.hstack([s1, sS])
|
||||||
S2 = np.hstack([s2, sS])
|
S2 = np.hstack([s2, s3, sS])
|
||||||
S3 = np.hstack([s3, sS])
|
S3 = np.hstack([s3, sS])
|
||||||
|
|
||||||
Y1 = S1.dot(np.random.randn(S1.shape[1], D1))
|
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()
|
ax.legend()
|
||||||
for i, Y in enumerate(Ylist):
|
for i, Y in enumerate(Ylist):
|
||||||
ax = fig.add_subplot(2, len(Ylist), len(Ylist) + 1 + i)
|
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))
|
ax.set_title("Y{}".format(i + 1))
|
||||||
pylab.draw()
|
pylab.draw()
|
||||||
pylab.tight_layout()
|
pylab.tight_layout()
|
||||||
|
|
@ -298,7 +298,7 @@ def mrd_simulation(optimize=True, plot=True, plot_sim=True, **kw):
|
||||||
|
|
||||||
if optimize:
|
if optimize:
|
||||||
print "Optimizing Model:"
|
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:
|
if plot:
|
||||||
m.plot_X_1d("MRD Latent Space 1D")
|
m.plot_X_1d("MRD Latent Space 1D")
|
||||||
m.plot_scales("MRD Scales")
|
m.plot_scales("MRD Scales")
|
||||||
|
|
|
||||||
|
|
@ -193,7 +193,7 @@ class lvm_dimselect(lvm):
|
||||||
GPy.examples.dimensionality_reduction.BGPVLM_oil()
|
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:
|
if latent_axes==None and sense_axes==None:
|
||||||
self.fig,(latent_axes,self.sense_axes) = plt.subplots(1,2)
|
self.fig,(latent_axes,self.sense_axes) = plt.subplots(1,2)
|
||||||
elif sense_axes==None:
|
elif sense_axes==None:
|
||||||
|
|
@ -201,7 +201,7 @@ class lvm_dimselect(lvm):
|
||||||
self.sense_axes = fig.add_subplot(111)
|
self.sense_axes = fig.add_subplot(111)
|
||||||
else:
|
else:
|
||||||
self.sense_axes = sense_axes
|
self.sense_axes = sense_axes
|
||||||
|
self.labels = labels
|
||||||
lvm.__init__(self,vals,Model,data_visualize,latent_axes,sense_axes,latent_index)
|
lvm.__init__(self,vals,Model,data_visualize,latent_axes,sense_axes,latent_index)
|
||||||
print "use left and right mouse butons to select dimensions"
|
print "use left and right mouse butons to select dimensions"
|
||||||
|
|
||||||
|
|
@ -221,7 +221,7 @@ class lvm_dimselect(lvm):
|
||||||
|
|
||||||
self.latent_axes.cla()
|
self.latent_axes.cla()
|
||||||
self.Model.plot_latent(which_indices=self.latent_index,
|
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.latent_handle = self.latent_axes.plot([0],[0],'rx',mew=2)[0]
|
||||||
self.modify(self.latent_values)
|
self.modify(self.latent_values)
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue