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

PyTorch基本使用-张量的基本运算及函数计算

文章目录

    • 1. 张量数值计算
      • 1. 1 张量基本运算
      • 1.2 点乘运算
      • 1.3 矩阵运算
    • 2. 张量运算函数

1. 张量数值计算

1. 1 张量基本运算

加减乘除取负号:

addsubmuldivneg

add_ sub_、 mul_ div_neg_ (其中带下划线的版本会修改原数据)

data = torch.randint(0,10,[2,3])
print(data)
# 不修改原数据 相当于 data = data + 5
new_data=data.add(5)
print(new_data)
# 修改原数据 相当于 data += 3
data.add_(3)
print(data)

输出结果:

tensor([[8, 8, 4],[4, 1, 0]])
tensor([[13, 13,  9],[ 9,  6,  5]])
tensor([[11, 11,  7],[ 7,  4,  3]])

1.2 点乘运算

点乘运算是指两个同维矩阵相同位置的元素相乘,使用 mul或 运算发 *实现。

data1 = torch.randint(0,10,[2,3])
data2 = torch.randint(0,10,[2,3])
data3 = data1.mul(data2)
data4 = data1*data2
print(data1)
print(data2)
print(data3)
print(data4)

输出结果:

tensor([[4, 3, 8],[7, 4, 6]])
tensor([[0, 1, 9],[9, 8, 0]])
tensor([[ 0,  3, 72],[63, 32,  0]])
tensor([[ 0,  3, 72],[63, 32,  0]])

1.3 矩阵运算

矩阵乘法运算要求第一个矩阵 shape: (n, m),第二个矩阵 shape: (m, p), 两个矩阵点积运算 shape 为: (n, p)。

  1. 运算符 @ 用于进行两个矩阵的乘积运算
  2. torch.matmul对进行乘积运算的两矩阵形状没有限定.对数输入的 shape 不同的张量, 对应的最后几个维度必须符合
    矩阵运算规则
data1 = torch.tensor([[1, 2], [3, 4], [5, 6]])
data2 = torch.tensor([[5, 6], [7, 8]])
print('data1--->',data1)
print('data2--->',data2)
data3 = data1 @ data2
print('data3--->',data3)
data4 = torch.matmul(data1, data2)
print('data4--->',data4)

输出结果:

data1---> tensor([[1, 2],[3, 4],[5, 6]])
data2---> tensor([[5, 6],[7, 8]])
data3---> tensor([[19, 22],[43, 50],[67, 78]])
data4---> tensor([[19, 22],[43, 50],[67, 78]])

2. 张量运算函数

PyTorch 为每个张量封装了很多实用的计算函数:

  • 均值
  • 平方根
  • 求和
  • 指数计算
  • 对数计算等等
data = torch.randint(1,10,[2,3],dtype=torch.float64)
print('data--->',data)
# 1. 计算均值
# 注意:tensor 必须为 Float 或者 Double 类型
print('均值:',data.mean())
print('列计算均值:',data.mean(dim=0))
print('行计算均值:',data.mean(dim=0))
# 2. 计算总和
print('求和:',data.sum())
print('列求和:',data.sum(dim=0))
print("行求和:",data.sum(dim=1))
# 3. 计算平方
print('平方:',torch.pow(data,2))
# 4. 计算平方根
print('平方根:',data.sqrt())
# 5. 指数计算,e ^ n 次方
print('e ^ n 次方:',data.exp())
# 6. 对数计算
print('e为底:',data.log())
print('2为底:',data.log2())
print('10为底:',data.log10())

输出结果:

data---> tensor([[8., 6., 7.],[9., 3., 7.]], dtype=torch.float64)
均值: tensor(6.6667, dtype=torch.float64)
列计算均值: tensor([8.5000, 4.5000, 7.0000], dtype=torch.float64)
行计算均值: tensor([8.5000, 4.5000, 7.0000], dtype=torch.float64)
求和: tensor(40., dtype=torch.float64)
列求和: tensor([17.,  9., 14.], dtype=torch.float64)
行求和: tensor([21., 19.], dtype=torch.float64)
平方: tensor([[64., 36., 49.],[81.,  9., 49.]], dtype=torch.float64)
平方根: tensor([[2.8284, 2.4495, 2.6458],[3.0000, 1.7321, 2.6458]], dtype=torch.float64)
e ^ n 次方: tensor([[2980.9580,  403.4288, 1096.6332],[8103.0839,   20.0855, 1096.6332]], dtype=torch.float64)
e为底: tensor([[2.0794, 1.7918, 1.9459],[2.1972, 1.0986, 1.9459]], dtype=torch.float64)
2为底: tensor([[3.0000, 2.5850, 2.8074],[3.1699, 1.5850, 2.8074]], dtype=torch.float64)
10为底: tensor([[0.9031, 0.7782, 0.8451],[0.9542, 0.4771, 0.8451]], dtype=torch.float64)

相关文章:

PyTorch基本使用-张量的基本运算及函数计算

文章目录 1. 张量数值计算1. 1 张量基本运算1.2 点乘运算1.3 矩阵运算 2. 张量运算函数 1. 张量数值计算 1. 1 张量基本运算 加减乘除取负号: add、sub、mul、div、neg add_ 、sub_、 mul_ 、div_、 neg_ (其中带下划线的版本会修改原数据) data torch.randin…...

C#--方法

C#的代码包装 三种实现途径:方法、类和名字空间。 • 方法是包含一系列语句的代码块。 • 类用于组合类,方法,属性。 • 将多个相关类组合成名字空间。 静态方法和静态变量 • 静态成员 在类中,使用static修饰符声明的成员称为静态…...

前端权限控制

前端权限控制 一、路由权限(控制页面访问) vue // router.js const routes [{path: /dashboard,name: Dashboard,component: () > import(/views/Dashboard.vue),meta: { requiresAuth: true, roles: [admin, manager] }},{path: /user,name: Use…...

mac下载安装jdk

背景 长时间不折腾mac全部忘记 特此记录 安装 1.下载jdk 根据需要下载对应的jdk 我直接 下载到/Applicatiions目录 https://www.oracle.com/java/technologies/downloads/#java8-mac 2.解压 cd /Applicatiions tar -zxvf jdk-8u431-macosx-x64.tar.gz 3.配置环境 …...

在线PS工具:UI设计的创新选择

对于刚踏入UI设计领域的新手来说,选择合适的在线Photoshop替代工具是至关重要的。市场上存在众多的在线设计工具,让人难以抉择。以下是10个值得尝试的在线PS工具,希望能帮助你找到最适合你的那一款。 Adobe Photoshop Photoshop是设计师们长…...

生成式AI概览与详解

1. 生成式AI概览:什么是大模型,大模型应用场景(文生文,多模态) 生成式AI(Generative AI)是指通过机器学习模型生成新的数据或内容的人工智能技术。生成式AI可以生成文本、图像、音频、视频等多种…...

数据结构与算法学习笔记----树与图的深度优先遍历

数据结构与算法学习笔记----树与图的深度优先遍历 author: 明月清了个风 first publish time: 2024.12.9 pa⭐️这里只有一道题哈哈。 Acwing 846.树的重心 给定一棵树,树中包含 n n n个节点(编号 1 ∼ n 1 \sim n 1∼n)和 n − 1 n - 1 n…...

IEEE T-RO 软体机器人手指状态估计实现两栖触觉传感

摘要:南方科技大学戴建生院士、林间院士、万芳老师、宋超阳老师团队近期在IEEE T-RO上发表了关于软体机器人手指在两栖环境中本体感知方法的论文。 近日,南方科技大学戴建生院士、林间院士、万芳老师、宋超阳老师团队在机器人顶刊IEEE T-RO上以《Propri…...

【NLP 14、激活函数 ② tanh激活函数】

学会钝感力,走向美好的方向 —— 24.12.11 一、tanh激活函数 1. tanh函数的定义 tanh是双曲正切函数(Hyperbolic Tangent),数学表达式为 其函数图像是一个S型曲线,以原点 (0,0) 为中心对称,定…...

前端如何实现签名功能

1.JS实现 前端实现签名功能&#xff0c;通常是通过在页面上创建一个可绘制的区域&#xff0c;用户可以用鼠标或触摸设备进行签名。这个区域通常是一个<canvas>元素&#xff0c;结合JavaScript来处理绘制和保存签名。下面是一个简单的实现步骤&#xff1a; 1.1. 创建HTM…...

若依将数据库更改为SQLite

文章目录 1. 添加依赖项2. 更新配置文件 application-druid.yml2.1. 配置数据源2.2. 配置连接验证 3. 更新 MybatisPlusConfig4. 解决 mapper 中使用 sysdate() 的问题4.1. 修改 BaseEntity4.2. 修改 Mapper 5. 更新 YML 配置 正文开始&#xff1a; 前提条件&#xff1a;在您的…...

CRMEB Pro版v3.2源码全开源+PC端+Uniapp前端+搭建教程

一.介绍 crmeb pro版 v3.2正式发布&#xff0c;全新UI重磅上线&#xff0c;焕然一新&#xff0c;不负期待&#xff01;页面DIY设计功能全面升级&#xff0c;组件更丰富&#xff0c;样式设计更全面&#xff1b;移动端商家管理&#xff0c;让商城管理更便捷&#xff0c;还从页面…...

Docker 安装 Jenkins:2.346.3

准备&#xff1a;已安装Docker&#xff0c;已配置服务器安全组规则 1581 1、拉取镜像 [rootTseng ~]# docker pull jenkins/jenkins:2.346.3 2.346.3: Pulling from jenkins/jenkins 001c52e26ad5: Pull complete 6b8dd635df38: Pull complete 2ba4c74fd680: Pull complet…...

【OpenCV】模板匹配

理论 模板匹配是一种在较大图像中搜索和查找模板图像位置的方法。为此&#xff0c;OpenCV 带有一个函数 cv.matchTemplate&#xff08;&#xff09; 。它只是在输入图像上滑动模板图像&#xff08;如在 2D 卷积中&#xff09;&#xff0c;并比较模板图像下的模板和输入图像的补…...

黑马商城微服务复习(5)

MQ 一、同步调用和异步调用1. 同步调用2. 异步调用 二、RabbitMQ1. 基础使用2. 实际操作 怎么用?3. RabbitMQ虚拟主机 数据隔离4. 在JAVA中实现RabbitMQ5. 交换机种类 一、同步调用和异步调用 1. 同步调用 微服务一旦拆分&#xff0c;必然涉及到服务之间的相互调用&#xff…...

云原生基础设施指南:精通 Kubernetes 核心与高级用法

1. 云原生的诞生 随着互联网规模的不断增长&#xff0c;以及企业对敏捷开发、快速交付和高可用性的需求日益增强&#xff0c;传统的单体架构逐渐暴露出局限性&#xff0c;难以满足现代业务对动态扩展和高效迭代的要求。为此&#xff0c;云原生应运而生。 云原生是为云计算时代…...

人工智能概要

目录 前言1.什么是人工智能&#xff08;Artificial Intelligence, AI&#xff09;2.人工智能发展的三次浪潮2.1 人工智能发展的第一次浪潮2.2 人工智能发展的第二次浪潮2.3 人工智能发展的第三次浪潮 3.人工智能发展的必备三要素3.1 数据3.2 算法&#xff08;algorithm&#xf…...

qt QCommandLineParser详解

1、概述 QCommandLineParser是Qt框架中提供的一个类&#xff0c;专门用于解析命令行参数。它简化了命令行参数的处理过程&#xff0c;使得开发者能够轻松定义、解析和验证命令行选项和参数。QCommandLineParser适用于需要从命令行获取输入的控制台应用程序&#xff0c;以及需要…...

力扣 K个一组翻转链表

K个一组翻转链表 /*** Definition for singly-linked list.* struct ListNode {* int val;* ListNode *next;* ListNode() : val(0), next(nullptr) {}* ListNode(int x) : val(x), next(nullptr) {}* ListNode(int x, ListNode *next) : val(x), next(ne…...

cnocr配置及训练测试

cnocr配置及训练测试 1&#xff0c;相关链接2&#xff0c;已有模型调用测试&#xff08;1&#xff09;下载相关模型&#xff08;2&#xff09;Cnstd文本检测模型&#xff08;3&#xff09;模型调用解析脚本 3&#xff0c;自定义数据集训练测试&#xff08;1&#xff09;标签转换…...

解决 Flutter 在 Mac 上的编译错误

解决 Flutter 在 Mac 上的编译错误 在使用 Flutter 进行项目开发并尝试在 Mac 设备上进行编译时&#xff0c;遇到了一系列的错误信息&#xff0c;这些错误信息给项目的构建与部署带来了阻碍。 一、错误详情 在编译过程中&#xff0c;Xcode 输出了大量的信息&#xff0c;其中…...

MR30分布式IO在新能源领域加氢站的应用

导读 氢能被誉为21世纪最具发展潜力的清洁能源&#xff0c;氢能科技创新和产业发展持续得到各国青睐。氢能低碳环保&#xff0c;燃烧的产物只有水&#xff0c;是用能终端实现绿色低碳转型的重要载体。氢能产业链分别为上游制氢、中游储运以及下游用氢。上游制氢工艺目前大部分…...

wxPython中wx.ListCtrl用法(二)

wx.ListCtrl是一个列表组件&#xff0c;可以以列表视图&#xff08;list view&#xff09;、报表视图&#xff08;report view&#xff09;、图标视图&#xff08;icon view&#xff09;和小图标视图&#xff08;small icon view&#xff09;等多种模式显示列表。 一、方法 __…...

kubernetes 资源汇总

kubernetes 资源汇总 官网 英文文档 官方英文文档 中文文档 官方中文文档 github github源码地址 培训认证 也就是linux基金会的认证&#xff0c;上面也提供培训课程 下载资源 官网下载资源&#xff0c;国内的话k8s镜像下载不了&#xff0c;要去镜像站 在线练习 killer…...

每日一题(对标gesp三级答案将在第二天公布)

编程题 题目描述&#xff1a; 小杨为数字4,5,6和7设计了一款表示形式&#xff0c;每个数字占用了66的网格。数字4,5,6和7的表示形式如下&#xff08;此处自行设计复杂一些的表示形式示例&#xff09;&#xff1a; 数字4&#xff1a; …. …. …. …. *… 数字5&#xff1a; …...

让 Win10 上网本 Debug 模式 QUDPSocket 信号槽 收发不丢包的方法总结

在前两篇文章里&#xff0c;我们探讨了不少UDP丢包的解决方案。经过几年的摸索测试&#xff0c;其实方法非常简单, 无需修改代码。 1. Windows 下设置UDP缓存 这个方法可以一劳永逸解决UDP的收发丢包问题&#xff0c;只要添加注册表项目并重启即可。即使用Qt的信号与槽&#…...

Python爬虫之使用BeautifulSoup进行HTML Document文档的解析

BeautifulSoup 是一个用于解析 HTML 和 XML 文档的 Python 库&#xff0c;它为开发者提供了一种简单的方式来查找、遍历和修改文档树。BeautifulSoup 特别擅长处理不规则或格式不佳的标记语言&#xff0c;可以自动更正无效的 HTML&#xff0c;因此在网页抓取&#xff08;Web Sc…...

vue.config.js配置参数说明新手教程

这篇文章主要是对vue.config.js配置文件的主要参数进行一下说明&#xff0c;方便使用时的查询&#xff0c; 下面进行介绍 1、vue.config.js vue.config.js 是一个可选的配置文件&#xff0c;如果项目的 (和 package.json 同级的) 根目录中存在这个文件&#xff0c;那么它会被…...

C# 关于加密技术以及应用(二)

AES&#xff08;Advanced Encryption Standard&#xff09;和 RSA&#xff08;Rivest-Shamir-Adleman&#xff09;是两种不同的加密算法&#xff0c;它们各自有特定的使用场景和优势。下面是它们的主要区别和适用场景&#xff1a; AES&#xff08;高级加密标准&#xff09; 特…...

视频中的某些片段如何制作GIF表情包?

动态表情包&#xff08;GIF&#xff09;已经成为我们日常沟通中不可或缺的一部分。GIF&#xff08;Graphics Interchange Format&#xff09;&#xff0c;即图形交换格式&#xff0c;是一种支持多帧图像和透明度的位图文件格式。它最初由 CompuServe 公司在 1987 年推出&#x…...

有什么做设计接任务的网站/排名优化推广

在本章中&#xff0c;我们将介绍以下食谱&#xff1a; 使用授权码授予类型保护资源支持隐式授予类型使用“资源所有者密码凭证”授予类型作为OAuth 2.0迁移的方法配置客户端凭据授予类型添加对刷新令牌的支持使用关系数据库存储令牌和客户详细信息使用Redis作为令牌存储实施客户…...

外贸网站导航栏建设技巧/杭州seo排名

贮油点问题…..一道送命系列的递推… 描述 Description 一辆重型卡车欲穿过S公里的沙漠&#xff0c;卡车耗汽油为1升/公里&#xff0c;卡车总载油能力为W公升。显然卡车装一次油是过不了沙漠的。因此司机必须设法在沿途建立若干个贮油点&#xff0c;使卡车能顺利穿过沙漠。试…...

网络公司网站建设/昆明百度推广开户费用

中科院外籍院士姚期智&#xff1a;科学家与科学之路 ■姚期智我从事科学工作几十年&#xff0c;也认识了很多杰出的科学家。我自己觉得科学家的生涯很有收获&#xff0c;当科学家是一个非常好的体验&#xff0c;从中可以品尝到巨大的乐趣。首先&#xff0c;我要谈一谈什么是科…...

wordpress $comment/广州网络推广公司有哪些

HTML是Web统一语言&#xff0c;这些容纳在尖括号里的简单标签&#xff0c;构成了如今的Web&#xff0c;1991年&#xff0c;Tim Berners-Lee编写了一份叫做“HTML标签”的文档&#xff0c;里面包含了大约20个用来标记网页的HTML标签。他直接借用SGML的标记格式&#xff0c;也就是…...

做橙光游戏的网站/web成品网站源码免费

一、集合操作 1.UNION&#xff1a;并集运算。 语法结构&#xff1a; SQL>select 表1的列1, 表1的列2 from 表1 union select表2的列1, 表2的列2 from表2; 其中表1的列1和表1的列2是来自于表1的两列&#xff0c;表2的列1和表2的列2是来自于表2的两列&#xff0c;需要注意…...

discuz 做视频网站/网络营销的核心是

2019独角兽企业重金招聘Python工程师标准>>> Kubernetes社区的生态繁荣和该领域技术的快速茁壮发展&#xff0c;已经是众所周知。Kubernetes领域有太多强大的、创新的技术产品&#xff0c;而最近引起我注意的项目是ExternalDNS。这是在近期的POC期间客户主动咨询起来…...