GPy now fails silently if sympy is not present

This commit is contained in:
James Hensman 2013-04-22 13:15:39 +01:00
parent 56ecd4782a
commit 698f52e5e3
2 changed files with 37 additions and 27 deletions

View file

@ -2,5 +2,9 @@
# Licensed under the BSD 3-clause license (see LICENSE.txt) # Licensed under the BSD 3-clause license (see LICENSE.txt)
from constructors import rbf, Matern32, Matern52, exponential, linear, white, bias, finite_dimensional, spline, Brownian, rbf_sympy, sympykern, periodic_exponential, periodic_Matern32, periodic_Matern52, prod, prod_orthogonal, symmetric, coregionalise, rational_quadratic, fixed, rbfcos from constructors import rbf, Matern32, Matern52, exponential, linear, white, bias, finite_dimensional, spline, Brownian, periodic_exponential, periodic_Matern32, periodic_Matern52, prod, prod_orthogonal, symmetric, coregionalise, rational_quadratic, fixed, rbfcos
try:
from constructors import rbf_sympy, sympykern # these depend on sympy
except:
pass
from kern import kern from kern import kern

View file

@ -165,11 +165,16 @@ def Brownian(D,variance=1.):
part = Brownianpart(D,variance) part = Brownianpart(D,variance)
return kern(D, [part]) return kern(D, [part])
import sympy as sp try:
from sympykern import spkern import sympy as sp
from sympy.parsing.sympy_parser import parse_expr from sympykern import spkern
from sympy.parsing.sympy_parser import parse_expr
sympy_available = True
except ImportError:
sympy_available = False
def rbf_sympy(D,ARD=False,variance=1., lengthscale=1.): if sympy_available:
def rbf_sympy(D,ARD=False,variance=1., lengthscale=1.):
""" """
Radial Basis Function covariance. Radial Basis Function covariance.
""" """
@ -188,11 +193,12 @@ def rbf_sympy(D,ARD=False,variance=1., lengthscale=1.):
f = rbf_variance*sp.exp(-dist/(2*rbf_lengthscale**2)) f = rbf_variance*sp.exp(-dist/(2*rbf_lengthscale**2))
return kern(D,[spkern(D,f)]) return kern(D,[spkern(D,f)])
def sympykern(D,k): def sympykern(D,k):
""" """
A kernel from a symbolic sympy representation A kernel from a symbolic sympy representation
""" """
return kern(D,[spkern(D,k)]) return kern(D,[spkern(D,k)])
del sympy_available
def periodic_exponential(D=1,variance=1., lengthscale=None, period=2*np.pi,n_freq=10,lower=0.,upper=4*np.pi): def periodic_exponential(D=1,variance=1., lengthscale=None, period=2*np.pi,n_freq=10,lower=0.,upper=4*np.pi):
""" """