コード例 #1
0
ファイル: test_pdfs.py プロジェクト: jfrelinger/gpustats
def _make_test_case(n=1000, k=4, p=1):
    data = randn(n, k)
    covs = [util.random_cov(k) for _ in range(p)]
    means = [randn(k) for _ in range(p)]
    return data, means, covs
コード例 #2
0
ファイル: test_pdfs.py プロジェクト: r0k3/gpustats
def _make_test_case(n=1000, k=4, p=1):
    data = randn(n, k)
    covs = [util.random_cov(k) for _ in range(p)]
    means = [randn(k) for _ in range(p)]
    return data, means, covs
コード例 #3
0
ファイル: pdfs.py プロジェクト: drdangersimon/gpustats
    """
    return normpdf_multi(x, [mean], [std], logged=logged, get=get).squeeze()

def normpdf_multi(x, means, std, logged=True, get=True):
    if logged:
        cu_func = cu_module.get_function('log_pdf_normal')
    else:
        cu_func = cu_module.get_function('pdf_normal')

    packed_params = np.c_[means, std]

    if not isinstance(x, GPUArray):
        x = util.prep_ndarray(x)

    return _univariate_pdf_call(cu_func, x, packed_params, get)

if __name__ == '__main__':
    import gpustats.compat as compat

    n = 1e5
    k = 8

    np.random.seed(1)
    data = randn(n, k).astype(np.float32)
    mean = randn(k).astype(np.float32)
    cov = util.random_cov(k).astype(np.float32)

    result = mvnpdf_multi(data, [mean, mean], [cov, cov])
    # pyresult = compat.python_mvnpdf(data, [mean], [cov]).squeeze()
    # print result - pyresult