torch cosine_similarity 批量两两计算cos值
目的
像sklearn里面有pairwise,里面的cosine_similarity可以计算两两之间的cos值。
具体来说,对于x=[a=(1,2,3,4),b=(2,3,4,5)]x=[a=(1,2,3,4),b=(2,3,4,5)]x=[a=(1,2,3,4),b=(2,3,4,5)]这样shape是(2,4)的变量作为输入,其输出是[[cos(a,a),cos(a,b)],[cos(b,a),cos(a,b)]][[cos(a,a), cos(a,b)],[cos(b,a),cos(a,b)]][[cos(a,a),cos(a,b)],[cos(b,a),cos(a,b)]],输出(2,2)的矩阵。。
torch貌似没有类似的函数,只能通过变量的维度变换来实现此功能。
实现
要这样写:
torch.cosine_similarity(a.unsqueeze(1),a.unsqueeze(0),dim=-1)
当然你如果不想变量自己的元素两两计算,第二个输入可以直接换成b
torch.cosine_similarity(a.unsqueeze(1),b.unsqueeze(0),dim=-1)
缺点是gpu内存消耗大
举例
二维ab:
a=torch.rand(2,4)
b=torch.rand(3,4)pairwised=torch.cosine_similarity(a.unsqueeze(1),b.unsqueeze(0),dim=-1)
# pairwised的shape是(2,3),分别是:
# cos(a_1,b_1),cos(a_1,b_2),cos(a_1,b_3)\\
# cos(a_2,b_1),cos(a_2,b_2),cos(a_2,b_3)# 而对于原来的cos函数(其默认维度=1)这是算不了的,直接报错
original=torch.cosine_similarity(a,b)
高维ab:
以后用到再补,我感觉迟早要用到
torch cosine_similarity 批量两两计算cos值相关推荐
- 用无穷级数计算cos值
题目 角度的余弦值可以利用以下无穷级数计算出来:cos(x)≈1-x²/2!+x⁴/4!-x⁶/6!+x⁸/8!-- 输入一个角度x计算cos(x)的近似值,直到最后一项的绝对值小于10ˉ⁵ 思路 考 ...
- 使用泰勒公式计算Cos值
计算0~359度的余弦值,计算平均需要计算得到结果的最后一个n的大小,n从0开始.随着n的增大,每一项也是非常昂贵的计算. 这是第一种计算方法,把范围缩小到0到90度,fac的返回值可以不用longl ...
- (篇二)C语言动态分配内存、计算π的值
文章目录 一.动态分配内存 二.猴子吃桃问题 三.两种计算π的值 四.计算指定年月有几天 本篇是接着分享一些有趣的C语言实例,其实学习C语言这类结构化语言是非常锻炼逻辑思维的,也可以让我们对编程语言有 ...
- python代码大全p-基于python实现计算两组数据P值
我们在做A/B试验评估的时候需要借助p_value,这篇文章记录如何利用python计算两组数据的显著性. 一.代码 # TTest.py # -*- coding: utf-8 -*- ''' # ...
- 拼字符串成为时间,和两个计算时间点的中间值
拼字符串成为时间,和两个计算时间点的中间值 select convert(datetime,'2016-09-18 '+SUBSTRING(CONVERT(varchar(100),d_bdate, ...
- python中计算如何实现_基于python如何实现计算两组数据P值
我们在做A/B试验评估的时候需要借助p_value,这篇文章记录如何利用python计算两组数据的显著性. 一.代码# TTest.py # -*- coding: utf-8 -*- ''' # C ...
- 两个向量夹角的cos值
分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! // h ...
- php求两个数组的差值,数组计算差值及项的小计,该如何处理
数组计算差值及项的小计 本帖最后由 lazygc520 于 2014-04-14 16:19:41 编辑 $s = array ( 0 => array ( 0 => array ( 0 ...
- 用numpy、PyTorch自动求导、torch.nn库实现两层神经网络
用numpy.PyTorch自动求导.torch.nn库实现两层神经网络 1 用numpy实现两层神经网络 2 用PyTorch自动求导实现两层神经网络 2.1 手动求导 2.2 gradient自动 ...
- python openpyxl + VBA控制Excel批量绘制两两散点图
尽管R语言是进行生态环境数据探索的首选,但Excel无疑在我们搜集.整理以及初步数据探索中依旧有着十分重要的作用.绘制环境因子间的两两散点图是探索因子关系的常见步骤,当环境因子较多时scatter ...
最新文章
- memcached和redis的区别和应用场景
- 一次无线网络故障排除过程
- 阿里巴巴集团 CTO 程立:今年天猫双 11,阿里练了什么?
- 老生常谈.优化linux内核参数
- Jupyter-进阶教程
- C# ProgressBar用法:模拟进度条
- openssh的服务端配置文件
- 记一次失败的电话面试
- 安卓app开发-02-安卓app快速开发
- 求400以内的亲密对数c语言,东南大学C++编程练习
- pytorch DataLoader 自定义 sampler
- html oa 表单,OA表单制作(致远)
- Mysql外键设置中CASCADE、NO ACTION、RESTRICT、SET NULL区别意义
- Ubuntu16.04 安装Redis哨兵模式
- 2021电赛F题送药小车视觉部分的一种思路(双OpenMV法)
- Pisces-ORM的思考与设计
- vue项目内存溢出的解决
- 人工智能有哪些好处???
- 14 Tornado - XSRF
- pink老师 js p85思考题
热门文章
- 手机怎么模拟125k卡_NFC手机能模拟门禁卡吗?
- PHP给PDF文件加水印(mpdf插件)
- Mesh网络,让世界“雾”起来 | INE创始人熊羽睿演讲实录
- 数据分析报告怎么写(一)
- Proximal Algorithms 1 介绍
- 【MC 网易-我的世界-mod开发基础笔记】 --- 常用的在线工具
- html格式的字幕如何匹配电影,电影片尾字幕内容范本
- 喜大普奔!rgee能用了!R语言也可以使用Google Earth Engine了!
- 腾讯web引用skey g_tk bkn和日期显示分析
- Android动态获取权限(读写、获取手机状态、定位)