The following example fails in both the python2 and python3 versions of george
from george import kernels
from george import metrics
matern = kernels.Matern32Kernel(4, ndim=2)
m = metrics.Metric(matern.metric)
---------------------------------------------------------------------------
AttributeError Traceback (most recent call last)
<ipython-input-4-e15f1390792f> in <module>
3
4 matern = kernels.Matern32Kernel(4, ndim=2)
----> 5 m = metrics.Metric(matern.metric)
/usr/local/lib/python3.7/site-packages/george/metrics.py in __init__(self, metric, bounds, ndim, axes, lower)
37 self.set_parameter_vector(
38 metric.get_parameter_vector(include_frozen=True),
---> 39 include_frozen=True)
40 self.parameter_bounds = metric.parameter_bounds
41 self.ndim = metric.ndim
/usr/local/lib/python3.7/site-packages/george/modeling.py in set_parameter_vector(self, vector, include_frozen)
244
245 """
--> 246 v = self.parameter_vector
247 if include_frozen:
248 v[:] = vector
/usr/local/lib/python3.7/site-packages/george/modeling.py in parameter_vector(self)
164 def parameter_vector(self):
165 """An array of all parameters (including frozen parameters)"""
--> 166 return np.array([getattr(self, k) for k in self.parameter_names])
167
168 @parameter_vector.setter
/usr/local/lib/python3.7/site-packages/george/modeling.py in <listcomp>(.0)
164 def parameter_vector(self):
165 """An array of all parameters (including frozen parameters)"""
--> 166 return np.array([getattr(self, k) for k in self.parameter_names])
167
168 @parameter_vector.setter
AttributeError: 'Metric' object has no attribute 'log_M_0_0'
The Model.parameter_vector, which is called in Model.set_parameter_vector(), needs all parameter names to be loaded as attributes, which does not happen when calling Model.set_parameter_vector(). Changing
The following example fails in both the
python2
andpython3
versions ofgeorge
The
Model.parameter_vector
, which is called inModel.set_parameter_vector()
, needs all parameter names to be loaded as attributes, which does not happen when callingModel.set_parameter_vector()
. Changingto
in
metrics.Metric
whenmetric
is ametrics.Metric
instance fixes this problem.