PyTorch学习笔记|张量的广播和科学运算

pytorch中tensor设计了六大类数学运算,分别是: 1.逐点运算(Pointwise Ops)指的是针对Tensor中每个元素执行的相同运算操作; 2.规约运算(ReductionOps):指的是对于某一张量进行操作得出某种总结值; 3.比较运算(Comparison Ops):指的是对多个张量进行比较运算的相关方法; 4.谱运算(Spectral Ops):指的是涉及信号处理傅里叶变化的操作; 5.BLAS和LAPACK运算:指的是基础线性代数程序集(Basic Linear AlgeriaSubprograms)和线性代数包(Linear Algeria Package)中定义的、主要用于线性代数科学计算的函数和方法; 6.其他运算(Other Ops):其他未被归类的数学运算。

我们主要讲解逐点运算、规约运算、比较运算和线性代数运算。

广播运算

广播运算可以允许不同形状的张量之间进行计算,其实相同形状的张量计算,本质也是应用到了广播特性。

我们通过下面例子可以看出,实际计算中把t1扩展为4行4列再进行计算。

go 复制代码
import torch

t1 = torch.ones(1,4)
t2 = torch.zeros(4,4)
t1 + t2

我们简单说一下怎么样才能进行广播运算。

1.从两个张量的尾部维度(即最后一个维度)开始向前比较,维度较少的张量会在其形状前自动补1,直到两个张量的维度数相同。 2.对于对齐后的每个维度,必须满足以下条件之一: 两个张量在该维度的长度相等; 其中一个张量在该维度的长度为 1; 其中一个张量在该维度上没有对应维度(即自动补1后,该维度长度为1)

逐点运算

这个还是比较简单的,大家记一下就行。

计算的时候要注意,有部分函数只能输入浮点型张量才能计算,不然会报错。

排序运算用sort函数。

go 复制代码
t = torch.tensor([1.0, 3.0, 2.0])
torch.sort(t)
torch.sort(t, descending=True)

# reslut
torch.return_types.sort(
values=tensor([1., 2., 3.]),
indices=tensor([0, 2, 1]))

torch.return_types.sort(
values=tensor([3., 2., 1.]),
indices=tensor([1, 2, 0]))

规约运算

规约运算指的是针对某张量进行某种总结,最后得出一个具体总结指的函数。

比较运算

相关推荐
fenglllle21 小时前
使用AI能力编译ARM版本的截图软件
arm开发·人工智能
七夜zippoe21 小时前
Java技术未来展望:GraalVM、Quarkus、Helidon等新趋势探讨
java·开发语言·python·quarkus·graaivm·helidon
OpenVINO 中文社区21 小时前
OpenVINO™正式进入 llama.cpp:GGUF 模型现已支持 Intel CPU、GPU 与 NPU
人工智能·openvino·英特尔
唐樽21 小时前
C++ 竞赛学习路线笔记
c++·笔记·学习
ZKNOW甄知科技21 小时前
数智同行:甄知科技2026年Q1季度回顾
运维·服务器·人工智能·科技·程序人生·安全·自动化
呆呆敲代码的小Y21 小时前
【Unity工具篇】| 游戏完整资源热更新流程,YooAsset官方示例项目
人工智能·游戏·unity·游戏引擎·热更新·yooasset·免费游戏
jikemaoshiyanshi21 小时前
B2B企业GEO服务商哪家好?深度解析径硕科技(JINGdigital)及其JINGEO产品为何是首选
大数据·运维·人工智能·科技
Lab_AI21 小时前
浩天药业携手创腾科技,开启研发数字化新篇章!电子实验记录本(ELN)落地浩天药业
人工智能
m0_7381207221 小时前
网络安全编程——Python编写基于UDP的主机发现工具(解码IP header)
python·网络协议·tcp/ip·安全·web安全·udp
supericeice21 小时前
大模型建筑隐患管理方案怎么做?创邻科技用知识图谱、图数据库和企业AI大脑打通隐患问答、整改与推荐
人工智能·科技·知识图谱