目的

像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值相关推荐

  1. 用无穷级数计算cos值

    题目 角度的余弦值可以利用以下无穷级数计算出来:cos(x)≈1-x²/2!+x⁴/4!-x⁶/6!+x⁸/8!-- 输入一个角度x计算cos(x)的近似值,直到最后一项的绝对值小于10ˉ⁵ 思路 考 ...

  2. 使用泰勒公式计算Cos值

    计算0~359度的余弦值,计算平均需要计算得到结果的最后一个n的大小,n从0开始.随着n的增大,每一项也是非常昂贵的计算. 这是第一种计算方法,把范围缩小到0到90度,fac的返回值可以不用longl ...

  3. (篇二)C语言动态分配内存、计算π的值

    文章目录 一.动态分配内存 二.猴子吃桃问题 三.两种计算π的值 四.计算指定年月有几天 本篇是接着分享一些有趣的C语言实例,其实学习C语言这类结构化语言是非常锻炼逻辑思维的,也可以让我们对编程语言有 ...

  4. python代码大全p-基于python实现计算两组数据P值

    我们在做A/B试验评估的时候需要借助p_value,这篇文章记录如何利用python计算两组数据的显著性. 一.代码 # TTest.py # -*- coding: utf-8 -*- ''' # ...

  5. 拼字符串成为时间,和两个计算时间点的中间值

    拼字符串成为时间,和两个计算时间点的中间值 select convert(datetime,'2016-09-18 '+SUBSTRING(CONVERT(varchar(100),d_bdate, ...

  6. python中计算如何实现_基于python如何实现计算两组数据P值

    我们在做A/B试验评估的时候需要借助p_value,这篇文章记录如何利用python计算两组数据的显著性. 一.代码# TTest.py # -*- coding: utf-8 -*- ''' # C ...

  7. 两个向量夹角的cos值

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! // h ...

  8. php求两个数组的差值,数组计算差值及项的小计,该如何处理

    数组计算差值及项的小计 本帖最后由 lazygc520 于 2014-04-14 16:19:41 编辑 $s = array ( 0 => array ( 0 => array ( 0  ...

  9. 用numpy、PyTorch自动求导、torch.nn库实现两层神经网络

    用numpy.PyTorch自动求导.torch.nn库实现两层神经网络 1 用numpy实现两层神经网络 2 用PyTorch自动求导实现两层神经网络 2.1 手动求导 2.2 gradient自动 ...

  10. python openpyxl + VBA控制Excel批量绘制两两散点图

      尽管R语言是进行生态环境数据探索的首选,但Excel无疑在我们搜集.整理以及初步数据探索中依旧有着十分重要的作用.绘制环境因子间的两两散点图是探索因子关系的常见步骤,当环境因子较多时scatter ...

最新文章

  1. memcached和redis的区别和应用场景
  2. 一次无线网络故障排除过程
  3. 阿里巴巴集团 CTO 程立:今年天猫双 11,阿里练了什么?
  4. 老生常谈.优化linux内核参数
  5. Jupyter-进阶教程
  6. C# ProgressBar用法:模拟进度条
  7. openssh的服务端配置文件
  8. 记一次失败的电话面试
  9. 安卓app开发-02-安卓app快速开发
  10. 求400以内的亲密对数c语言,东南大学C++编程练习
  11. pytorch DataLoader 自定义 sampler
  12. html oa 表单,OA表单制作(致远)
  13. Mysql外键设置中CASCADE、NO ACTION、RESTRICT、SET NULL区别意义
  14. Ubuntu16.04 安装Redis哨兵模式
  15. 2021电赛F题送药小车视觉部分的一种思路(双OpenMV法)
  16. Pisces-ORM的思考与设计
  17. vue项目内存溢出的解决
  18. 人工智能有哪些好处???
  19. 14 Tornado - XSRF
  20. pink老师 js p85思考题

热门文章

  1. 手机怎么模拟125k卡_NFC手机能模拟门禁卡吗?
  2. PHP给PDF文件加水印(mpdf插件)
  3. Mesh网络,让世界“雾”起来 | INE创始人熊羽睿演讲实录
  4. 数据分析报告怎么写(一)
  5. Proximal Algorithms 1 介绍
  6. 【MC 网易-我的世界-mod开发基础笔记】 --- 常用的在线工具
  7. html格式的字幕如何匹配电影,电影片尾字幕内容范本
  8. 喜大普奔!rgee能用了!R语言也可以使用Google Earth Engine了!
  9. 腾讯web引用skey g_tk bkn和日期显示分析
  10. Android动态获取权限(读写、获取手机状态、定位)