当前位置: 首页 > news >正文

【Python】一文向您详细介绍 np.inner()

【Python】一文向您详细介绍 np.inner()


 
下滑即可查看博客内容
在这里插入图片描述

🌈 欢迎莅临我的个人主页 👈这里是我静心耕耘深度学习领域、真诚分享知识与智慧的小天地!🎇

🎓 博主简介985高校的普通本硕,曾有幸发表过人工智能领域的 中科院顶刊一作论文,熟练掌握PyTorch框架

🔧 技术专长: 在CVNLP多模态等领域有丰富的项目实战经验。已累计提供近千次定制化产品服务,助力用户少走弯路、提高效率,近一年好评率100%

📝 博客风采: 积极分享关于深度学习、PyTorch、Python相关的实用内容。已发表原创文章600余篇,代码分享次数逾九万次

💡 服务项目:包括但不限于科研辅导知识付费咨询以及为用户需求提供定制化解决方案

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

🌵文章目录🌵

  • 🔍一、初识`np.inner()`
      • 示例代码
  • 🧠二、理解点积的意义
      • 示例:计算向量夹角
  • 🔧三、`np.inner()`与`np.dot()`的区别
      • np.dot() 示例
  • 🎯四、`np.inner()`的实际应用
      • 示例:计算向量间的相似度
  • 🎯五、`np.inner()`在特征工程中的应用
  • 🚀六、总结与展望

下滑即可查看博客内容

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

  

🔍一、初识np.inner()

在Python的NumPy库中,np.inner()函数是一个用于计算两个数组的点积(inner product)的函数。尽管其名字暗示了内部(inner)的某种特性,但实际上它主要用于一维数组(向量)的点积计算。点积,又称标量积或内积,是线性代数中的一个基本概念,其结果是一个标量(即一个单一的数)。

示例代码

import numpy as np# 定义两个一维数组
a = np.array([1, 2, 3])
b = np.array([4, 5, 6])# 计算a和b的点积
inner_product = np.inner(a, b)
print(f"The inner product of a and b is: {inner_product}")

输出结果将会是32,因为1*4 + 2*5 + 3*6 = 32


🧠二、理解点积的意义

点积不仅仅是一个数学运算,它还具有深刻的几何和物理意义。在几何上,两个向量的点积等于它们的模长与它们之间夹角的余弦的乘积。即,如果ab是两个向量,那么a·b = |a| * |b| * cos(θ),其中θ是两向量之间的夹角。

  • 当两向量方向相同时(夹角为0度),点积最大,为两向量模的乘积。
  • 当两向量垂直时(夹角为90度),点积为0。
  • 当两向量方向相反时(夹角为180度),点积为负,其绝对值等于两向量模的乘积。

示例:计算向量夹角

# 已知两向量的点积和模长,计算夹角
a_norm = np.linalg.norm(a)
b_norm = np.linalg.norm(b)
theta = np.arccos(np.inner(a, b) / (a_norm * b_norm))
print(f"The angle between a and b is: {np.degrees(theta):.2f} degrees")

这将输出两向量之间的夹角(以度为单位)。


🔧三、np.inner()np.dot()的区别

在NumPy中,另一个经常用于点积计算的函数是np.dot()。然而,np.dot()np.inner()在处理不同维度数组时的行为有所不同。

  • 对于两个一维数组(向量),np.inner()np.dot()的结果是相同的,都计算点积。
  • 对于二维数组(矩阵),np.dot()执行矩阵乘法,而np.inner()在NumPy中对于二维数组的行为并不直观,因为它主要用于一维数组的点积计算。

np.dot() 示例

A = np.array([[1, 2], [3, 4]])
B = np.array([[5, 6], [7, 8]])# 使用np.dot()进行矩阵乘法
dot_product = np.dot(A, B)
print("Matrix multiplication using np.dot():\n", dot_product)

🎯四、np.inner()的实际应用

点积在机器学习、物理学、工程学等多个领域都有广泛的应用。

  • 机器学习:在特征向量空间中,点积可用于计算两个数据点之间的相似度或距离。
  • 物理学:在力学中,力向量与位移向量的点积给出了功的计算。
  • 工程学:在信号处理中,点积可用于计算信号之间的相关性。

示例:计算向量间的相似度

# 假设有两个特征向量
v1 = np.array([1, 2, 3])
v2 = np.array([4, 5, 6])# 计算点积
dot_product = np.inner(v1, v2)# 计算两个向量的模
norm_v1 = np.linalg.norm(v1)
norm_v2 = np.linalg.norm(v2)# 使用点积和模的乘积来计算余弦相似度
cos_sim = dot_product / (norm_v1 * norm_v2)
print(f"Cosine similarity between v1 and v2: {cos_sim}")

在这个例子中,余弦相似度越接近1,表示两个向量在方向上越接近;如果为0,则表示两向量正交(即垂直);如果为负值,则表示两向量方向相反。


🎯五、np.inner()在特征工程中的应用

在机器学习领域,特征工程是一个关键步骤,它涉及从原始数据中提取有用的特征以供模型训练。np.inner()可以用于特征之间的交互,创建新的特征,这些新特征可能包含有关数据集的更多信息。


🚀六、总结与展望

通过本文,我们深入探讨了NumPy库中的np.inner()函数,从基础概念到实际应用。我们了解到np.inner()主要用于计算一维数组的点积,并探讨了它在不同领域的应用,如机器学习中的相似度计算和特征工程。

未来,随着数据科学和机器学习领域的不断发展,对高效、灵活且强大的数组操作工具的需求将日益增长。NumPy作为这一领域的基石,其提供的各种函数和工具将继续发挥重要作用。然而,随着新技术和新库的出现,我们也应该保持对新兴工具和方法的关注,以便在适当的时候采用它们来优化我们的解决方案。

相关文章:

【Python】一文向您详细介绍 np.inner()

【Python】一文向您详细介绍 np.inner() 下滑即可查看博客内容 🌈 欢迎莅临我的个人主页 👈这里是我静心耕耘深度学习领域、真诚分享知识与智慧的小天地!🎇 🎓 博主简介:985高校的普通本硕,曾…...

pdf分割,这几款软件轻松搞定PDF拆分

在数字化办公日益普及的今天,PDF文件因其跨平台、不易修改的特性,成为了我们日常工作中不可或缺的一部分。然而,面对庞大的PDF文件,如何高效、准确地将其分割成多个小文件,以便更好地管理和使用,成为了许多…...

【吊打面试官系列-MyBatis面试题】什么是 MyBatis 的接口绑定?有哪些实现方式?

大家好,我是锋哥。今天分享关于 【什么是 MyBatis 的接口绑定?有哪些实现方式?】面试题,希望对大家有帮助; 什么是 MyBatis 的接口绑定?有哪些实现方式? 接口绑定,就是在 MyBatis 中…...

实时消息推送系统,写得太好了!

websocket 协议是在 http 协议上的一种补充协议,是 html5 的新特性,是一种持久化的协议。其实 websocket 和 http 关系并不是很大,不过都是属于应用层的协议,接下来我们就开始实战。 websocket 定时推送 本教程基于 springboot …...

泛微E9开发 控制日期浏览按钮的可选日期范围

控制日期浏览按钮的可选日期范围 1、需求说明2、实现方法3、扩展知识点控制日期浏览按钮的可选日期范围格式参数说明演示 1、需求说明 控制日期浏览按钮的可选日期范围为2024/07/01~2024/07/31,如下图所示 2. 控制日期浏览按钮的可选日期范围在当前时间的前一周~当…...

ppt接单渠道大公开‼️

PPT 接单主要分两种:PPT 模板投稿和PPT 定制接单,我们先从简单的 PPT 模板投稿说起。 PPT 模板投稿 利用业余时间,做一些 PPT 模板上传到平台,只要有人下载你的模板,你就有收入。如果模板质量高,简直就是一…...

从零开始搭建vite开发环境

准备 nodejs 18 pnpm https://vitejs.cn/ 开始 pnpm init pnpm add -D vite新建index.html <!DOCTYPE html> <html lang"zh"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width…...

FastAPI本身是一个高性能的Web框架

FastAPI本身是一个高性能的Web框架&#xff0c;它并不直接支持数据库操作&#xff0c;但可以通过集成各种数据库库来与各种数据库进行交互。FastAPI支持几乎所有的关系型数据库和非关系型数据库&#xff0c;这主要取决于你选择的数据库库&#xff08;如ORM库&#xff09;以及相…...

yolov7:训练自己的数据集和测试

1、源代码&#xff1a;DataXujing/YOLOv7: :fire::fire::fire: Official YOLOv7训练自己的数据集并实现端到端的TensorRT模型加速推断 (github.com)2、参考的文献&#xff1a;⭐YOLOv7训练自己的数据集&#xff08;全网最详细 亲测有效&#xff09;⭐_python_Sunny&Meng-开…...

Redis 集群模式

文章目录 前言1. Redis Cluster 搭建1.1 准备节点1.2 准备配置文件1.3 查看集群状态 2. 客户端访问3. Python 连接集群4. Redis 集群维护4.1 新增节点4.2 手动分配 slot4.3 节点移除 5. 集群运维5.1 集群倾斜5.2 手动切换 前言 Redis 3.0 提供了 Redis Cluster 架构&#xff0…...

如何快速实现一个无缝轮播效果

&#x1f9d1;‍&#x1f4bb; 写在开头 点赞 收藏 学会&#x1f923;&#x1f923;&#x1f923; 需求简介 轮播图是我们前端开发中的一个常见需求&#xff0c;在项目开发中&#xff0c;我们可以使用element、ant等UI库实现。某些场景&#xff0c;为了一个简单的功能安装一…...

kubernetes集群证书过期问题解决

kubernetes集群证书过期问题解决 问题描述检查证书是否过期更新证书master节点操作node节点操作 问题描述 K8S 各个组件需要与 api-server 进行通信&#xff0c;通信使用的证书都存放在 /etc/kubernetes/pki 路径下&#xff0c;kubeadm 生成的证书大部分默认有效期为 1 年&…...

PHP框架详解-symfony框架

Symfony是一个使用PHP语言编写的开源Web应用框架&#xff0c;旨在加快开发进程&#xff0c;替代重复编码工作&#xff0c;并帮助构建可维护和可扩展的应用程序。以下是对Symfony框架的详细解析&#xff1a; 一、框架概述 Symfony提供了一组可重用的组件和一个标准化、可扩展的…...

Linux--线程的控制

目录 0.前言 1.pthread库 2.关于控制线程的接口 2.1.创建线程&#xff08;pthread_create&#xff09; 2.2.线程等待&#xff08;pthread_join&#xff09; 代码示例1&#xff1a; ​编辑 ***一些问题*** 2. 3.创建多线程 3.线程的终止 &#xff08;pthread_exit /…...

大数据------JavaWeb------会话跟踪技术(Cookie、Session)(完整知识点汇总)

会话跟踪技术&#xff08;Cookie&Session&#xff09; 注意&#xff1a; HTTP协议是无状态 的&#xff0c;即每次浏览器向服务器请求时&#xff0c;服务器都会将该请求视为新的请求&#xff0c;因此我们需要会话跟踪技术来实现会话内的数据共享 会话 当用户打开浏览器&am…...

crossJoin笛卡尔积

crossJoin笛卡尔积 在Spark中&#xff0c;crossJoin方法用于执行两个数据集之间的笛卡尔积操作。具体来说&#xff0c;如果有两个数据集&#xff08;DataFrame或Dataset&#xff09;&#xff0c;调用crossJoin方法将会生成一个新的数据集&#xff0c;其中包含两个原始数据集中所…...

Java客户端调用SOAP方式的WebService服务实现方式分析

简介 在多系统交互中&#xff0c;有时候需要以Java作为客户端来调用SOAP方式的WebService服务&#xff0c;本文通过分析不同的调用方式&#xff0c;以Demo的形式&#xff0c;帮助读者在生产实践中选择合适的调用方式。 本文JDK环境为JDK17。 结论 推荐使用Axis2或者Jaxws&#…...

华为机试真题--字符串序列判定

题目描述: 输入两个字符串S和L,都只包含英文小写字母,其中S长度<=100,L长度<=500000,请判定S是否是L的有效字串。 判定规则: S中的每个字符在L中都能找到(可以不连续),且S在L中字符的前后顺序与S中顺序要保持一致。(例如,S="ace"是L="abcd…...

Linux内核 -- 虚拟化之virtqueue结构

Linux Kernel中的Virtqueue Virtqueue是Linux Kernel中用于实现Virtio设备的一个关键数据结构。Virtio是一种虚拟I/O设备标准&#xff0c;旨在简化虚拟化环境中虚拟设备与虚拟机之间的通信。Virtqueue则是实现这种通信的核心机制。以下是Virtqueue的一些关键点&#xff1a; V…...

【pytorch18】Logistic Regression

回忆线性回归 for continuous:y xwbfor probability output:yσ(xwb) σ:sigmoid or logistic 线性回归是简单的线性模型&#xff0c;输入是x&#xff0c;网络参数是w和b&#xff0c;输出是连续的y的值 如何把它转化为分类问题?加了sigmoid函数&#xff0c;输出的值不再是…...

conda相比python好处

Conda 作为 Python 的环境和包管理工具&#xff0c;相比原生 Python 生态&#xff08;如 pip 虚拟环境&#xff09;有许多独特优势&#xff0c;尤其在多项目管理、依赖处理和跨平台兼容性等方面表现更优。以下是 Conda 的核心好处&#xff1a; 一、一站式环境管理&#xff1a…...

应用升级/灾备测试时使用guarantee 闪回点迅速回退

1.场景 应用要升级,当升级失败时,数据库回退到升级前. 要测试系统,测试完成后,数据库要回退到测试前。 相对于RMAN恢复需要很长时间&#xff0c; 数据库闪回只需要几分钟。 2.技术实现 数据库设置 2个db_recovery参数 创建guarantee闪回点&#xff0c;不需要开启数据库闪回。…...

Golang 面试经典题:map 的 key 可以是什么类型?哪些不可以?

Golang 面试经典题&#xff1a;map 的 key 可以是什么类型&#xff1f;哪些不可以&#xff1f; 在 Golang 的面试中&#xff0c;map 类型的使用是一个常见的考点&#xff0c;其中对 key 类型的合法性 是一道常被提及的基础却很容易被忽视的问题。本文将带你深入理解 Golang 中…...

云启出海,智联未来|阿里云网络「企业出海」系列客户沙龙上海站圆满落地

借阿里云中企出海大会的东风&#xff0c;以**「云启出海&#xff0c;智联未来&#xff5c;打造安全可靠的出海云网络引擎」为主题的阿里云企业出海客户沙龙云网络&安全专场于5.28日下午在上海顺利举办&#xff0c;现场吸引了来自携程、小红书、米哈游、哔哩哔哩、波克城市、…...

通过Wrangler CLI在worker中创建数据库和表

官方使用文档&#xff1a;Getting started Cloudflare D1 docs 创建数据库 在命令行中执行完成之后&#xff0c;会在本地和远程创建数据库&#xff1a; npx wranglerlatest d1 create prod-d1-tutorial 在cf中就可以看到数据库&#xff1a; 现在&#xff0c;您的Cloudfla…...

多模态商品数据接口:融合图像、语音与文字的下一代商品详情体验

一、多模态商品数据接口的技术架构 &#xff08;一&#xff09;多模态数据融合引擎 跨模态语义对齐 通过Transformer架构实现图像、语音、文字的语义关联。例如&#xff0c;当用户上传一张“蓝色连衣裙”的图片时&#xff0c;接口可自动提取图像中的颜色&#xff08;RGB值&…...

多模态大语言模型arxiv论文略读(108)

CROME: Cross-Modal Adapters for Efficient Multimodal LLM ➡️ 论文标题&#xff1a;CROME: Cross-Modal Adapters for Efficient Multimodal LLM ➡️ 论文作者&#xff1a;Sayna Ebrahimi, Sercan O. Arik, Tejas Nama, Tomas Pfister ➡️ 研究机构: Google Cloud AI Re…...

深度学习习题2

1.如果增加神经网络的宽度&#xff0c;精确度会增加到一个特定阈值后&#xff0c;便开始降低。造成这一现象的可能原因是什么&#xff1f; A、即使增加卷积核的数量&#xff0c;只有少部分的核会被用作预测 B、当卷积核数量增加时&#xff0c;神经网络的预测能力会降低 C、当卷…...

基于TurtleBot3在Gazebo地图实现机器人远程控制

1. TurtleBot3环境配置 # 下载TurtleBot3核心包 mkdir -p ~/catkin_ws/src cd ~/catkin_ws/src git clone -b noetic-devel https://github.com/ROBOTIS-GIT/turtlebot3.git git clone -b noetic https://github.com/ROBOTIS-GIT/turtlebot3_msgs.git git clone -b noetic-dev…...

招商蛇口 | 执笔CID,启幕低密生活新境

作为中国城市生长的力量&#xff0c;招商蛇口以“美好生活承载者”为使命&#xff0c;深耕全球111座城市&#xff0c;以央企担当匠造时代理想人居。从深圳湾的开拓基因到西安高新CID的战略落子&#xff0c;招商蛇口始终与城市发展同频共振&#xff0c;以建筑诠释对土地与生活的…...