IterQuant.py 文件源码

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

项目:LearnHash 作者: galad-loth 项目源码 文件源码
def ITQtrain(data,nbit, niter):
    data_mean=npy.mean(data,axis=0)
    data=data-data_mean
    objPCA=PCA(copy=True,n_components=nbit, whiten=False)
    dataTrans=objPCA.fit_transform(data)
    codeITQ=npy.ones(dataTrans.shape, dtype=npy.float32)
    codeITQ[dataTrans<0]=-1
    for tau in range(niter):
        dataTemp1=npy.dot(codeITQ.T,dataTrans)
        matL,sig, matR=svd(dataTemp1)
        matRot=npy.dot(matR.T,matL.T)
        dataTemp2=dataTrans.dot(matRot)
        codeITQ=npy.ones(dataTrans.shape, dtype=npy.float32)
        codeITQ[dataTemp2<0]=-1
    modelITQ={"mu":data_mean,"objPCA":objPCA, "matRot":matRot} 
    return modelITQ
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号