diff --git a/examples/meta/src/evaluation/cross_validation_multiple_kernel_learning_weights_storage.sg b/examples/meta/src/evaluation/cross_validation_multiple_kernel_learning_weights_storage.sg index 0d4e13d4bcd..ee6c001c6ba 100644 --- a/examples/meta/src/evaluation/cross_validation_multiple_kernel_learning_weights_storage.sg +++ b/examples/meta/src/evaluation/cross_validation_multiple_kernel_learning_weights_storage.sg @@ -56,6 +56,7 @@ MKLClassification machine = fold.get_trained_machine() #![get_fold_machine] #![get_weights] -CombinedKernel k = machine.get("kernel") -RealVector w = k.get_subkernel_weights() +SGObject k = machine.get("kernel") +CombinedKernel ck = CombinedKernel:obtain_from_generic(k) +RealVector w = ck.get_subkernel_weights() #![get_weights] diff --git a/src/shogun/kernel/CombinedKernel.cpp b/src/shogun/kernel/CombinedKernel.cpp index 606e7ce260c..3ace5e62649 100644 --- a/src/shogun/kernel/CombinedKernel.cpp +++ b/src/shogun/kernel/CombinedKernel.cpp @@ -907,6 +907,11 @@ CCombinedKernel* CCombinedKernel::obtain_from_generic(CKernel* kernel) return (CCombinedKernel*)kernel; } +CCombinedKernel* CCombinedKernel::obtain_from_generic(Some object) +{ +return CCombinedKernel::obtain_from_generic((CKernel*)object.get()); +} + CList* CCombinedKernel::combine_kernels(CList* kernel_list) { CList* return_list = new CList(true); diff --git a/src/shogun/kernel/CombinedKernel.h b/src/shogun/kernel/CombinedKernel.h index 8d13d30d3b5..e665a96529b 100644 --- a/src/shogun/kernel/CombinedKernel.h +++ b/src/shogun/kernel/CombinedKernel.h @@ -366,6 +366,9 @@ class CCombinedKernel : public CKernel */ static CCombinedKernel* obtain_from_generic(CKernel* kernel); + // TODO: remove + static CCombinedKernel* obtain_from_generic(Some object); + /** return derivative with respect to specified parameter * * @param param the parameter