cosine_similarity和torch.cosine_similarity速度差异(人间奇事)

博主在进行聚类计算时,先使用了sklearn的cosine_similarity在CPU上进行,然后改用PyTorch的cosine_similarity并利用GPU(V100)进行计算。结果显示,GPU计算速度显著快于CPU,GPU版本运行时间为1.8s/it,而CPU版本为3s/it。即使考虑到内存限制设置的batch=500,GPU的加速效果依然非常突出。这表明对于大规模计算任务,利用GPU可以大幅提高效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  • 最近聚簇计算相似度,使用了下面两种方法。
    • 一开始用的sklearn,因为没有gpu
    • 后来有了gpu就换上了pytorch
      • gpu是V100
    • batch=500(说是batch,只是为了预防超出内存,做的限制。
    • 跑的是个循环
    • 速度大概是这样子的:
      • torch的cosine:cpu 3s/it,gpu v100 1.8s/it
      • sklear:cpu 50it/s
  • 总之这个速度差就很离谱,有谁能做个解释吗?
from sklearn.metrics.pairwise import cosine_similarity
emb_sim = torch.cosine_similarity(torch.tensor([update_text['embed']],device=self.device), torch.tensor(cluster_embed,device=self.device))#返回尺寸[batch,]
和
emb_sim = cosine_similarity(np.array([update_text['embed']]), np.array(cluster_embed))#返回[1,batch]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值