From 0bdd78846e4c712d5eed96aabe0c849d1ae20b47 Mon Sep 17 00:00:00 2001
From: Graham Clenaghan <gclenaghan@gmail.com>
Date: Mon, 2 Nov 2015 22:42:38 -0800
Subject: [PATCH] Ensure that n_nonzero_coefs is an int

---
 sklearn/decomposition/dict_learning.py | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/sklearn/decomposition/dict_learning.py b/sklearn/decomposition/dict_learning.py
index 6d63e504df..03a85baa67 100644
--- a/sklearn/decomposition/dict_learning.py
+++ b/sklearn/decomposition/dict_learning.py
@@ -146,9 +146,10 @@ def _sparse_encode(X, dictionary, gram, cov=None, algorithm='lasso_lars',
 
     elif algorithm == 'omp':
         # TODO: Should verbose argument be passed to this?
-        new_code = orthogonal_mp_gram(gram, cov, regularization, None,
-                                      row_norms(X, squared=True),
-                                      copy_Xy=copy_cov).T
+        new_code = orthogonal_mp_gram(
+            Gram=gram, Xy=cov, n_nonzero_coefs=int(regularization),
+            tol=None, norms_squared=row_norms(X, squared=True),
+            copy_Xy=copy_cov).T
     else:
         raise ValueError('Sparse coding method must be "lasso_lars" '
                          '"lasso_cd",  "lasso", "threshold" or "omp", got %s.'
-- 
GitLab