首页 > 行业资讯 > PyTorch 教程-二维张量

PyTorch 教程-二维张量

时间:2023-12-25 来源: 浏览:

PyTorch 教程-二维张量

点击关注 Python架构师
Python架构师

gh_1d7504e4dee1

回复:python,领取Python面试题。分享Python教程,Python架构师教程,Python爬虫,Python编程视频,Python脚本,Pycharm教程,Python微服务架构,Python分布式架构,Pycharm注册码。

整理: python架构师

二维张量类似于二维矩阵。一个二维矩阵有n行和n列。同样,二维张量也有n行和n列。

一个二维张量的表示如下:

灰度标量图像是像素的二维矩阵。每个像素的强度用数值表示,范围从0到255,其中强度值为0表示没有强度,完全黑色,而255表示最大强度,完全白色。我们可以存储这个二维值的网格。

创建二维张量

要创建一个二维张量,首先必须使用torch的arrange()方法创建一个一维张量。这个方法包含两个整数类型的参数。一旦创建了一维张量,下一步就是将其视图更改为二维形式,并将这个视图存储在二维类型的变量中。

让我们看一个创建二维张量的示例:

import torch x = torch.arange(0,9) x y = x.view(3,3) y

输出:

tensor ( [0, 1, 2, 3, 4, 5, 6, 7, 8] ) tensor ( [[0, 1, 2] , [3, 4, 5] , [6, 7, 8] ])

资源分享

点击领取:最全Python资料合集

注意:要检查张量的维度,我们必须使用张量的dim()方法。

import torch x = torch.arange(0,9) x y = x.view(3,3) y x.dim() y.dim()

输出:

tensor ( [0, 1, 2, 3, 4, 5, 6, 7, 8] ) tensor ( [[0, 1, 2] , [3, 4, 5] , [6, 7, 8] ]) 1 2

访问二维张量元素

让我们看一个二维张量的示例,以了解如何使用索引从二维张量中访问特定元素。

示例

import torch x = torch.arange(0,9) x y = x.view(3,3) y y[0,2]

输出:

tensor ( [0, 1, 2, 3, 4, 5, 6, 7, 8] ) tensor ( [[0, 1, 2] , [3, 4, 5] , [6, 7, 8] ]) tensor (2)

张量乘法

乘法的方式与矩阵乘法相同。张量乘法是将相应的行与相应的列相乘。张量乘法在深度学习模型中起着重要作用。张量可以是一维的、二维的、三维的等等。张量的乘法只能在兼容的大小下进行。

让我们看一个张量乘法的示例:

import torch mat_a=torch.tensor([1,3,5,7,9,2,4,6,8]) mat_a=mat_a.view(3,3) mat_b=torch.tensor([1,3,5,7,9,2,4,6,8]) mat_b=mat_b.view(3,3) mat_a mat_b torch.matmul(mat_a,mat_b) # We can also usemat_a @ mat_b

输出:

tensor ( [[1, 3, 5] , [7, 9, 2] , [4, 6, 8] ]) tensor ( [[1, 3, 5] , [7, 9, 2] , [4, 6, 8] ]) tensor ( [[ 42, 60, 51] , [ 78, 114, 69] , [ 78, 114, 96] ])

三维张量

三维张量是使用view()方法创建的。一个三维张量具有以下结构:

从三维张量中访问元素

从三维张量中访问元素非常容易。这将使用索引完成。

示例

import torch x=torch.arange(18) y=x.view(3, 2, 3) y y[1,1,1]

输出:

tensor ( [[[ 0, 1, 2] , [ 3, 4, 5] ], [[ 6, 7, 8] , [ 9, 10, 11] ], [[12, 13, 14] , [15, 16, 17] ]]) tensor (10)

三维张量的切片

分割切片与我们如何切片一维张量非常相似。切片张量意味着将张量的元素切片成一个新的张量,或者我们可以说切片是通过将张量划分为一个新的张量来创建的过程。

示例

假设我们有一个包含0到17的元素的三维张量,我们想从6到11切片张量。

import torch x=torch.arange(18) y=x.view(3,2,3) y y[1, 0:2, 0:3] # can also apply y[1, :, :]

输出:

tensor ( [[[ 0, 1, 2] , [ 3, 4, 5] ], [[ 6, 7, 8] , [ 9, 10, 11] ], [[12, 13, 14] , [15, 16, 17] ]]) tensor ( [[ 6, 7, 8] , [ 9, 10, 11] ])

 
热门推荐
  • 2023年收入最高的10种编程语言
  • PyTorch 教程-向量操作
  • Poe AI 机器人 AI_Photograph:为任何名人、特殊角色等提供最佳艺术镜头

版权:如无特殊注明,文章转载自网络,侵权请联系cnmhg168#163.com删除!文件均为网友上传,仅供研究和学习使用,务必24小时内删除。
相关推荐