深度学习Pytorch-Tensor函数

本文涉及的产品
智能开放搜索 OpenSearch行业算法版,1GB 20LCU 1个月
检索分析服务 Elasticsearch 版,2核4GB开发者规格 1个月
实时计算 Flink 版,5000CU*H 3个月
简介: 深度学习Pytorch-Tensor函数

Tensor的三角函数

  • torch.acos(input,out=None)#arccos反三角函数中的反余弦
  • torch.asin(input,out=None)
  • torch.atan(input,out=None)
  • torch.atan2(input,input2,out=None)
  • torch.cos(input,out=None)
  • torch.cosh(input,out=None)
  • torch.sin(input,out=None)
  • torch.sinh(input,out=None)#双曲正弦函数
  • torch.tan(input,out=None)
  • torch.tanh(input,out=None)

Tensor中其他的数学函数

  • torch.abs()
  • torch.sigmoid()
  • torch.sign() 符号函数
  • torch.reciprocal() 每个元素的倒数
  • torch.rsqrt() 对每个元素取平方根后再取倒数
  • torch.neg() 元素取负
  • torch.lerp(start, end, weight, out=None):对两个张量以start, end做线性插值,将结果返回到输出张量out = start + weight*(end - start)
  • torch.addcdiv(tensor, value=1, tensor1, tensor2, out=None):用tensor2对tensor1逐元素相除,然后乘以标量值value并加到tensor上。
  • torch.addcmul(tensor, value=1, tensor1, tensor2, out=None):用tensor2对tensor1逐元素相乘,并对结果乘以标量值value然后加到tensor,张量形状不需要匹配,但元素数量必须一致。
  • torch.cumprod(input, dim, out=None) -> Tensor:返回输入沿指定维度的累积积,如输入是一个N元向量,则结果也是一个N元向量,第i个输出元素值为yi = x1 * x2 * x3 * ...* xi
  • torch.cumsum(input, dim, out=None) -> Tensor:返回输入沿指定维度的累积和

Tensor中统计学相关的函数(维度,对于二维数据:dim=0 按列,dim=1 按行,默认 dim=1

  • torch().mean() #返回平均值
  • torch().sum() #返回总和
  • torch().prod() #计算所有元素的积
  • torch().max() #返回最大值
  • torch().min() #返回最小值
  • torch().argmax() #返回最大值排序的索引值
  • torch().argmin() #返回最小值排序的索引值
  • torch().std() #返回标准差
  • torch().var() #返回方差
  • torch().median() #返回中间值
  • torch().mode() #返回众数值
  • torch.histc(input, bins=100, min=0, max=0, out=None) -> Tensor:计算输入张量的直方图。如果minmax都为0,则利用数据中的最大最小值作为边界。
  • torch().bincount() #返回每个值的频数,只支持一维的tensor
import torch
a = torch.rand(2, 2)#大小2*2
#可以通过维度来完成降维
print(a)
print(torch.sum(a))
print(torch.sum(a, dim=0))
print(torch.sum(a, dim=1))

1698843502825.jpg


Tensor的torch.distributions(分布函数)

  • distributions包含可参数化的概率分布和采样函数
  • 得分函数
  • 强化学习中策略梯度方法的基础
  • pathwise derivative估计器
  • 变分自动编码器中的重新参数化技巧


1698843531062.jpg

  • KL Divergence 相对熵
  • Transforms

Tensor中的随机抽样

  • 定义随机种子:在需要生成随机数据的实验中,每次实验都需要生成数据,为了确保每次运行.py文件时,生成的随机数都是固定的。
  • torch.manual_seed(seed)
  • 定义随机数满足的分布
  • torch.normal(means, std, out=None):返回一个张量,包含从给定means, std的离散正态分布中抽取随机数,均值和标准差的形状不须匹配,但每个张量的元素个数须相同

Tensor中的范数运算

  • 范数
  • 在泛函分析中,它定义在赋范线性空间中,并满足一定的条件,即1.非负性,2.齐次性,3.三角不等式。
  • 常被用来度量某个向量空间(或矩阵)中的每个向量的长度或大小。
  • 0范数/1范数/2范数/p范数/核函数:核范数是矩阵奇异值的和
  • torch.dist(input,other,p=2)计算p范数
  • torch.norm()计算2范数
import torch
a = torch.rand(2, 1)
b = torch.rand(2, 1)
print(a, b)
print(torch.dist(a, b, p = 1))
print(torch.dist(a, b, p = 2))
print(torch.dist(a, b, p = 3))

1698843540177.jpg

print(torch.norm(a))
print(torch.norm(a, p=3))
print(torch.norm(a, p='fro'))#核函数

1698843556457.jpg

Tensor中的矩阵分解

  • 常见的矩阵分解
  • LU分解:将矩阵A分解成L(下三角)矩阵和U(上三角)矩阵的乘积
  • QR分解:将原矩阵分解成一个正交矩阵Q和一个上三角矩阵R的乘积
  • EVD分解:特征值分解:PCA
  • SVD分解:奇异值分解:LDA
  • Pytorch中的奇异值分解
  • torch.svd()
相关文章
|
1月前
|
PyTorch 算法框架/工具
Pytorch学习笔记(五):nn.AdaptiveAvgPool2d()函数详解
PyTorch中的`nn.AdaptiveAvgPool2d()`函数用于实现自适应平均池化,能够将输入特征图调整到指定的输出尺寸,而不需要手动计算池化核大小和步长。
109 1
Pytorch学习笔记(五):nn.AdaptiveAvgPool2d()函数详解
|
1月前
|
PyTorch 算法框架/工具
Pytorch学习笔记(六):view()和nn.Linear()函数详解
这篇博客文章详细介绍了PyTorch中的`view()`和`nn.Linear()`函数,包括它们的语法格式、参数解释和具体代码示例。`view()`函数用于调整张量的形状,而`nn.Linear()`则作为全连接层,用于固定输出通道数。
82 0
Pytorch学习笔记(六):view()和nn.Linear()函数详解
|
1月前
|
PyTorch 算法框架/工具
Pytorch学习笔记(四):nn.MaxPool2d()函数详解
这篇博客文章详细介绍了PyTorch中的nn.MaxPool2d()函数,包括其语法格式、参数解释和具体代码示例,旨在指导读者理解和使用这个二维最大池化函数。
118 0
Pytorch学习笔记(四):nn.MaxPool2d()函数详解
|
1月前
|
PyTorch 算法框架/工具
Pytorch学习笔记(三):nn.BatchNorm2d()函数详解
本文介绍了PyTorch中的BatchNorm2d模块,它用于卷积层后的数据归一化处理,以稳定网络性能,并讨论了其参数如num_features、eps和momentum,以及affine参数对权重和偏置的影响。
148 0
Pytorch学习笔记(三):nn.BatchNorm2d()函数详解
|
1月前
|
机器学习/深度学习 PyTorch TensorFlow
Pytorch学习笔记(二):nn.Conv2d()函数详解
这篇文章是关于PyTorch中nn.Conv2d函数的详解,包括其函数语法、参数解释、具体代码示例以及与其他维度卷积函数的区别。
134 0
Pytorch学习笔记(二):nn.Conv2d()函数详解
|
14天前
|
机器学习/深度学习 监控 PyTorch
深度学习工程实践:PyTorch Lightning与Ignite框架的技术特性对比分析
在深度学习框架的选择上,PyTorch Lightning和Ignite代表了两种不同的技术路线。本文将从技术实现的角度,深入分析这两个框架在实际应用中的差异,为开发者提供客观的技术参考。
34 7
|
1月前
|
机器学习/深度学习 算法 PyTorch
深度学习笔记(十三):IOU、GIOU、DIOU、CIOU、EIOU、Focal EIOU、alpha IOU、SIOU、WIOU损失函数分析及Pytorch实现
这篇文章详细介绍了多种用于目标检测任务中的边界框回归损失函数,包括IOU、GIOU、DIOU、CIOU、EIOU、Focal EIOU、alpha IOU、SIOU和WIOU,并提供了它们的Pytorch实现代码。
163 1
深度学习笔记(十三):IOU、GIOU、DIOU、CIOU、EIOU、Focal EIOU、alpha IOU、SIOU、WIOU损失函数分析及Pytorch实现
|
1月前
|
PyTorch 算法框架/工具
Pytorch学习笔记(七):F.softmax()和F.log_softmax函数详解
本文介绍了PyTorch中的F.softmax()和F.log_softmax()函数的语法、参数和使用示例,解释了它们在进行归一化处理时的作用和区别。
386 1
Pytorch学习笔记(七):F.softmax()和F.log_softmax函数详解
|
2月前
|
机器学习/深度学习 PyTorch 调度
在Pytorch中为不同层设置不同学习率来提升性能,优化深度学习模型
在深度学习中,学习率作为关键超参数对模型收敛速度和性能至关重要。传统方法采用统一学习率,但研究表明为不同层设置差异化学习率能显著提升性能。本文探讨了这一策略的理论基础及PyTorch实现方法,包括模型定义、参数分组、优化器配置及训练流程。通过示例展示了如何为ResNet18设置不同层的学习率,并介绍了渐进式解冻和层适应学习率等高级技巧,帮助研究者更好地优化模型训练。
141 4
在Pytorch中为不同层设置不同学习率来提升性能,优化深度学习模型
|
1月前
|
机器学习/深度学习 PyTorch 算法框架/工具
Pytorch学习笔记(八):nn.ModuleList和nn.Sequential函数详解
PyTorch中的nn.ModuleList和nn.Sequential函数,包括它们的语法格式、参数解释和具体代码示例,展示了如何使用这些函数来构建和管理神经网络模型。
79 1