From e57468065408be88804df7af89e37583d67764db Mon Sep 17 00:00:00 2001 From: Alexander Rodin Date: Sat, 27 May 2017 23:24:24 +0300 Subject: [PATCH] Return identity matrix if no scaling provided --- pymc3/step_methods/hmc/base_hmc.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/pymc3/step_methods/hmc/base_hmc.py b/pymc3/step_methods/hmc/base_hmc.py index 0bcf3083c3..0c42de6bf9 100644 --- a/pymc3/step_methods/hmc/base_hmc.py +++ b/pymc3/step_methods/hmc/base_hmc.py @@ -4,7 +4,8 @@ from pymc3.tuning import guess_scaling from pymc3.model import modelcontext, Point from .quadpotential import quad_potential -from pymc3.theanof import inputvars, make_shared_replacements +from pymc3.theanof import inputvars, make_shared_replacements, floatX +import numpy as np class BaseHMC(ArrayStepShared): @@ -41,7 +42,7 @@ def __init__(self, vars=None, scaling=None, step_scale=0.25, is_cov=False, vars = inputvars(vars) if scaling is None and potential is None: - scaling = model.test_point + scaling = floatX(np.ones(model.dict_to_array(model.test_point).size)) if isinstance(scaling, dict): scaling = guess_scaling(Point(scaling, model=model), model=model, vars=vars)