cosine_similarity和torch.cosine_similarity速度差异(人间奇事)
- 最近聚簇计算相似度,使用了下面两种方法。
- 一开始用的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]
cosine_similarity和torch.cosine_similarity速度差异(人间奇事)相关推荐
- 手把手教你使用深度学习的方法进行人脸解锁
来源:DeepHub IMBA 本文约3000字,建议阅读8分钟 本文手把手教你如何创建人脸解锁算法. 今天,我们将使用深度学习来创建面部解锁算法.要完成我们的任务需要三个主要部分. 查找人脸的算法 ...
- pytorch 计算相似度,相关系数
torch.cosine_similarity 可以对两个向量或者张量计算相似度 结果:可能为负数,只能判断方向,相似度精度比较低. 比如1和10000的相似度为1,1和-1的相似度为-1. impo ...
- SiameseNet(Learning Text Similarity with Siamese Recurrent Networks)
SiameseNet研究意义: 1.基于LSTM的孪生网络结构,为后来研究打下良好的基础,有很深远的影响 2.提出了几种文本增强的思路 注: 孪生网络指的是输入是成对的,并且两部分的网络结构和参数都是 ...
- Learning Deep Structured Semantic Models for Web Search using Clickthrough Data (DSSM)
主要研究问题: 给定一个查询(query)和一组文档(document),返回一个排序(ranking),系统根据查询所对应文档的契合度高低排序. 论文主要结构: 一.Abstract 1.基于关键词 ...
- 用pytorch及numpy计算成对余弦相似性矩阵,并用numpy实现kmeans聚类
sklearn和scipy里面都提供了kmeans聚类的库,但是它们都是根据向量直接进行计算欧氏距离.闵氏距离或余弦相似度,如果使用其他的度量函数或者向量维度非常高需要先计算好度量距离然后再聚类时 ...
- pytorch基础知识+构建LeNet对Cifar10进行训练+PyTorch-OpCounter统计模型大小和参数量+模型存储与调用
整个环境的配置请参考我另一篇博客.ubuntu安装python3.5+pycharm+anaconda+opencv+docker+nvidia-docker+tensorflow+pytorch+C ...
- 余弦相似度/卷积核之间的成对余弦相似性
目录 定义: 例子: python函数计算余弦相似性 定义: 余弦距离,也称为余弦相似度,是用向量空间中两个向量之间的夹角余弦值作为衡量两个个体之间的差异大小的度量.(不难理解,余弦相似度就是基于两个 ...
- PyTorch入门-词向量
一. 概念 1 . 词的表示 在自然语言处理任务中,首先需要考虑词如何在计算机中表示.通常,有两种表示方式:one-hot representation和distribution representa ...
- 自然语言处理(三):传统RNN(NvsN,Nvs1,1vsN,NvsM)pytorch代码解析
文章目录 1.预备知识:深度神经网络(DNN) 2.RNN出现的意义与基本结构 3.根据输入和输出数量的网络结构分类 3.1 N vs N(输入和输出序列等长) 3.2 N vs 1(多输入单输出) ...
最新文章
- 使用subprocessm模块管理进程
- jsp获取java后台数据_springMVC笔记:jsp页面获取后台数据记录列表
- MySQL多表查询和事务安全
- unity项目中使用BUGLY遇到的的几个问题
- BUUCTF-- Linux Labs 1---SSH远程登陆
- 又踩.NET Core的坑:在同步方法中调用异步方法Wait时发生死锁(deadlock)
- ssl1202-滑雪【记忆化搜索法】
- 域服务器批量修改用户密码,Windows域控制器批量创建用户
- 前端:JS/23/JS内置对象(String对象,Array对象,Date对象,Boolean对象,Number对象,Math对象),实例:求圆的面积,求直角三角形
- 中根遍历二叉查找树所得序列一定是有序序列_数据结构考研学习笔记(九)树、森林...
- js生成随机密码,密码位数自定
- 接入微信分享过程的喜和泪
- 讨论:多核CPU+ASIC的防火墙在以后是发展方向吗?
- WINDOWS资源编译器出错信息
- 实现MySQL的Replication
- CC2430DMA学习
- 计算机音乐演奏jojo,【FF14】诗人演奏用 il vento d'oro(动画《JOJO的奇妙冒险 黄金之风》插曲)...
- 算法竞赛入门-刽子手游戏(Hangman Judge )
- 《深入理解计算机系统》实验四Architecture Lab
- word表格分开快捷键_在Word2010表格的编辑中,快速的拆分表格应按()快捷键。
热门文章
- Android binder 框架和学习资料
- 硬件基础 —— 电阻
- Linux poll
- python list存储方式_python list存储
- 智慧交通day03-车道线检测实现05:透视变换+代码实现
- 智慧交通day02-车流量检测实现05:卡尔曼滤波器实践(小车模型)
- 一、scrapy爬虫框架——概念作用和工作流程 scrapy的入门使用
- LeetCode 656. 金币路径(DP)
- Pandas入门1(DataFrame+Series读写/Index+Select+Assign)
- java shiro security_安全框架Shiro和SpringSecurity的比较