From 99699e9e020959f18d17a0b250049da52e25aa42 Mon Sep 17 00:00:00 2001 From: Max Zwiessele Date: Tue, 20 May 2014 14:45:34 +0100 Subject: [PATCH] [vardtc missing data] can handle non broadcastable selections --- GPy/inference/latent_function_inference/var_dtc.py | 6 +++++- GPy/util/subarray_and_sorting.py | 2 +- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/GPy/inference/latent_function_inference/var_dtc.py b/GPy/inference/latent_function_inference/var_dtc.py index b5e6787b..a9a137dc 100644 --- a/GPy/inference/latent_function_inference/var_dtc.py +++ b/GPy/inference/latent_function_inference/var_dtc.py @@ -283,7 +283,11 @@ class VarDTCMissingData(LatentFunctionInference): else: beta = beta_all VVT_factor = (beta*y) - VVT_factor_all[v, ind].flat = VVT_factor.flat + try: + VVT_factor_all[v, ind].flat = VVT_factor.flat + except ValueError: + mult = np.ravel_multi_index((v.nonzero()[0][:,None],ind[None,:]), VVT_factor_all.shape) + VVT_factor_all.flat[mult] = VVT_factor output_dim = y.shape[1] psi0 = psi0_all[v] diff --git a/GPy/util/subarray_and_sorting.py b/GPy/util/subarray_and_sorting.py index ab7b7672..f1707394 100644 --- a/GPy/util/subarray_and_sorting.py +++ b/GPy/util/subarray_and_sorting.py @@ -4,7 +4,7 @@ .. moduleauthor:: Max Zwiessele ''' -__updated__ = '2013-12-02' +__updated__ = '2014-05-20' import numpy as np