bench.py 文件源码

python
阅读 36 收藏 0 点赞 0 评论 0

项目:microbiome-summer-school-2017 作者: aldro61 项目源码 文件源码
def GS_kernel_precomp_P(str1, str2, psiDict, sigmaPos, sigmaAA, L, P):
    len_str1 = len(str1)
    len_str2 = len(str2)

    A = np.zeros((len_str1, len_str2))
    for i in xrange(len_str1):
        for j in xrange(len_str2):
            try:
                A[i, j] = psiDict[str1[i], str2[j]]
            except:
                if str1[i] != str2[j]:
                    A[i, j] = 4.0
    A /= -2.0 * (sigmaAA ** 2.0)
    A = np.exp(A)

    B = np.zeros((len_str1, len_str2))
    for i in xrange(len_str1):
        for j in xrange(len_str2):
            tmp = 1.0
            for l in xrange(L):
                if i + l < len_str1 and j + l < len_str2:
                    tmp *= A[i + l, j + l]
                    B[i, j] += tmp

    return np.sum(P * B)
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号