【PyTorch】PyTorch中张量(Tensor)计算操作

这篇具有很好参考价值的文章主要介绍了【PyTorch】PyTorch中张量(Tensor)计算操作。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

PyTorch深度学习总结

第五章 PyTorch中张量(Tensor)计算操作



前言

上文介绍了PyTorch中张量(Tensor)拆分拼接操作,本文将介绍张量计算操作。


一、张量比较大小

函数 描述
torch.allclose() 比较两个元素是否接近
torch.eq() 逐元素比较是否相等
torch.equal() 判断两个张量是否具有相同的形状和元素
torch.ge() 逐元素比较大于等于
torch.gt() 逐元素比较大于
torch.le() 逐元素比较小于等于
torch.lt() 逐元素比较小于
torch.ne() 逐元素比较不等于
torch.isnan() 判断是否为缺失值

1、torch.allclose()

函数用法:
torch.allclose(A, B, rtol=,atol=)
判断是否接近的公式如下:
∣ A − B ∣ ≤ a t o l + r t o l × ∣ B ∣   . |A-B| \leq atol+rtol\times|B|\,. ABatol+rtol×B.

# 引入库
import torch

# 创建张量A
A = torch.tensor([10.0, 10.0])

# 测试函数
print(torch.allclose(A, A, rtol=0.1, atol=0.01,equal_nan=False))

输出结果为:False


2、torch.eq()和torch.equal()

①函数用法:
torch.eq(A, B)
主要比较元素之间的关系,即两个对应元素是否相等

# 测试函数
print(torch.eq(A, A))

输出结果为:tensor([True, True])


②函数用法:
torch.equal(A, B)
主要比较张量之间的关系,即两个张量形状和大小是否相等

# 测试函数
print(torch.equal(A, A))

输出结果为:True


3、ge、gt、le、lt、ne函数

函数用法:
torch.ge(A, B)
主要用于逐元素比较,看是否大于等于( ≥ \geq )。
注:以上几个函数除本身意义不同外,其他用法几乎相同;故本文只针对torch.ge()进行展示。

# 生成张量
B = torch.tensor([11.0, 9.0])

# 测试函数
print(torch.ge(A, B))

输出结果为:tensor([False, True])


4、torch.isnan()

函数用法:
torch.isnan(A)
判断张量A对应元素是否为缺失值

print(torch.isnan(A))
print(torch.isnan(torch.tensor([0, 1, float("nan")])))

输出结果:
tensor([False, False])
tensor([False, False, True])


二、基本运算

1、四则运算(加减乘除)

生成试验数组:

# 引入库
import torch

# 生成张量
A = torch.arange(6).reshape(2,3)
B = torch.linspace(1, 6, steps=6).reshape(2,3) # 在1-6之间生成5个等步长的元素组成张量
print(A, B)

输出结果为:
tensor([[0, 1, 2], [3, 4, 5]])
tensor([[1., 2., 3.], [4., 5., 6.]])

加减乘除运算为:+-*/
整除://
幂运算为:torch.pow()**

示例:

print(A+B)
print(A-B)
print(A*B)
print(A/B)
print(B//A)
print(A**2)
print(torch.pow(A, 2))

输出结果为:
tensor([[ 1., 3., 5.], [ 7., 9., 11.]])
tensor([[-1., -1., -1.], [-1., -1., -1.]])
tensor([[ 0., 2., 6.], [12., 20., 30.]])
tensor([[0.0000, 0.5000, 0.6667], [0.7500, 0.8000, 0.8333]])
tensor([[inf, 2., 1.], [1., 1., 1.]])
tensor([[ 0, 1, 4], [ 9, 16, 25]])
tensor([[ 0, 1, 4], [ 9, 16, 25]])文章来源地址https://www.toymoban.com/news/detail-828080.html

2、其他计算

函数 描述
torch.exp() 张量的指数函数
torch.log() 张量的对数函数
torch.sqrt() 张量的平方根
torch.clamp_max() 根据最大值裁剪
torch.clamp_min() 根据最小值裁剪
torch.clamp() 根据范围裁剪
torch.t() 计算矩阵的转置
torch.matmul() 计算矩阵的转置
torch.inverse() 计算矩阵的逆矩阵
torch.trace() 计算矩阵的迹

到了这里,关于【PyTorch】PyTorch中张量(Tensor)计算操作的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【深度学习】pytorch——Tensor(张量)详解

    笔记为自我总结整理的学习笔记,若有错误欢迎指出哟~ Tensor,又名张量。它可以是一个数(标量)、一维数组(向量)、二维数组(矩阵)和更高维的数组(高阶数据)。Tensor和Numpy的ndarrays类似,但PyTorch的tensor支持GPU加速。 官方文档 : https://pytorch.org/docs/stable/tensors.html

    2024年02月06日
    浏览(50)
  • 【带着学Pytorch】2、张量(Tensor)的介绍与创建

           最开始在出现CPU和GPU, GPU出现主要解决的问题时并行计算,在此基础上的软件层面的工作基本上围绕着并行计算进行的,张量也不例外。 首先,我们先来聊聊 编程语言,python,java ,C,C++等,他们都有的共同特点是什么?在大学中计算机类专业耳熟能详, 算法、数

    2024年02月11日
    浏览(43)
  • 【1】深度学习之Pytorch——张量(tensor)的尺寸、储存偏移及步长等基本概念

    深度学习的基本概念 深度学习是一种人工神经网络的学习方法。它通过模仿人脑的学习方式来处理信息。深度学习的网络有很多层,每层都能学习到更抽象的概念。这种方法在语音识别、计算机视觉、自然语言处理等领域有很好的应用。 深度学习也有许多应用,这些应用往

    2024年02月02日
    浏览(43)
  • 将图结构转换矩阵数据转换为PyTorch支持的张量类型时,出现错误AttributeError ‘Tensor‘ object has no attribute ‘todense‘

    将图结构转换矩阵数据转换为PyTorch支持的张量类型时,出现错误AttributeError: ‘Tensor’ object has no attribute ‘todense’ 实例来源于《PyTorch深度学习和图神经网络 卷1》实例26:用图卷积神经网络为论文分类 出错部分p284页 原代码: 错误提示: ​ 找了一圈没有一样的解决方案,但

    2024年02月13日
    浏览(45)
  • Pytorch 张量操作 Python切片操作

    梳理一下Pytorch的张量切片操作 一维向量的操作其实很像numpy一维数组,基本定义如下: 1.默认步长为1 2.起始索引:结束索引 是一个**左闭右开区[)**间,即结束索引的值不取 3.有反向索引,具体如下: [起始索引:结束索引:步长] 对于一维向量而言,操作使用 冒号 :,而对于

    2023年04月09日
    浏览(54)
  • pytorch创建和操作tensor

    参考: https://pytorch.org/docs/stable/tensors.html

    2024年02月16日
    浏览(38)
  • 一文详解Pytorch中的Tensor操作

    Tensor的英文原义是张量,PyTorch官网对其的定义如下: 也就是说,一个Tensor是一个包含单一数据类型的多维矩阵。通常,其多维特性用三维及以上的矩阵来描述,例如下图所示:单个元素为标量(scalar),一个序列为向量(vector),多个序列组成的平面为矩阵(matrix),多个平面组成

    2024年02月05日
    浏览(47)
  • 入门Pytorch:对Tensor的操作

    目录 前言 一、创建 list创建 numpy创建 填充创建 初始化 规律变化 指定类型创建 指定数据类型 转换数据类型 二、索引 直接索引 切片 用...表示多个被省略 三、维度变换 view,reshape维度变换 unsqueeze插入维度 squeeze删除维度 repeat复制维度 维度交换 四、广播机制 五、拼接和拆分

    2024年02月16日
    浏览(42)
  • 1.PyTorch数据结构Tensor常用操作

    从接口的角度来讲,对tensor的操作可分为两类: torch.function ,如 torch.save 等。 另一类是 tensor.function ,如 tensor.view 等。 为方便使用,对tensor的大部分操作同时支持这两类接口,如 torch.sum (torch.sum(a, b)) 与 tensor.sum (a.sum(b)) 功能等价。 而从存储的角度来讲,对tensor的操作又可

    2024年02月04日
    浏览(41)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包