コード例 #1
0
ファイル: item_knn.py プロジェクト: VMuhr/MachineUnlearningPy
 def _compute_similarities(self, rmat, items, users):
     mkl = matrix.mkl_ops()
     mkl = None
     if mkl is None:
         return self._scipy_similarities(rmat, items, users)
     else:
         return self._mkl_similarities(mkl, rmat)
コード例 #2
0
def test_mkl_available():
    if 'CONDA_PREFIX' in os.environ:
        ops = lm.mkl_ops()
        assert ops is not None
        assert ops.clib is not None
    else:
        skip('only require MKL availability in Conda')
コード例 #3
0
ファイル: test_matrix_mkl.py プロジェクト: wanglingzhu/lkpy
def test_mkl_available():
    if 'CONDA_PREFIX' in os.environ:
        try:
            import mkl
        except ImportError:
            skip('in MKL-free Conda environment')
        ops = lm.mkl_ops()
        assert ops is not None
        assert ops.clib is not None
    else:
        skip('only require MKL availability in Conda')
コード例 #4
0
import pandas as pd
import numpy as np
import scipy.sparse as sps
import scipy.sparse.linalg as spla
from numba import jit, njit, prange
from numba.typed import List

from lenskit import util, matrix, DataWarning
from lenskit.sharing import in_share_context
from lenskit.util.parallel import is_mp_worker
from lenskit.util.accum import kvp_minheap_insert, kvp_minheap_sort
from . import Predictor

_logger = logging.getLogger(__name__)
_mkl_ops = matrix.mkl_ops()
_empty_csr = matrix._impl_mod()._empty_csr
_subset_rows = matrix._impl_mod()._subset_rows

if _mkl_ops is not None:
    # we have to import LK CFFI utils into this module
    for lkv in dir(_mkl_ops):
        if lkv.startswith('_lk_mkl'):
            globals()[lkv] = getattr(_mkl_ops, lkv)


def _make_blocks(n, size):
    "Create blocks for the range 0..n."
    return [(s, min(s + size, n)) for s in range(0, n, size)]

コード例 #5
0
ファイル: item_knn.py プロジェクト: skklogw7/lkpy
 def _compute_similarities(self, rmat):
     mkl = matrix.mkl_ops()
     if mkl is None:
         return self._scipy_similarities(rmat)
     else:
         return self._mkl_similarities(mkl, rmat)
コード例 #6
0
ファイル: test_matrix_mkl.py プロジェクト: wanglingzhu/lkpy
def mkl_ops():
    ops = lm.mkl_ops()
    if ops is None:
        skip('MKL not available')
    return ops
コード例 #7
0
ファイル: test_matrix_mkl.py プロジェクト: teej/lkpy
import os
import numpy as np
import scipy.sparse as sps
import cffi

from pytest import mark, approx, skip

import lenskit.matrix as lm
import lenskit.util.test as lktu

mkl_ops = lm.mkl_ops()


def test_mkl_available():
    if 'CONDA_PREFIX' in os.environ:
        assert mkl_ops is not None
        assert mkl_ops.clib is not None
    else:
        skip('only require MKL availability in Conda')


@mark.skipif(mkl_ops is None, reason='MKL not available')
def test_mkl_mult_vec():
    for i in range(50):
        m = np.random.randint(5, 100)
        n = np.random.randint(5, 100)

        M = np.random.randn(m, n)
        M[M <= 0] = 0
        s = sps.csr_matrix(M)
        assert s.nnz == np.sum(M > 0)