湛江做网站哪家专业,明星网页设计模板,网站建设主题大全,工商网查询营业执照PyTorch深度学习总结
第三章 PyTorch中张量(Tensor)切片操作 文章目录 PyTorch深度学习总结一、前言二、获取张量中的元素1、切片#xff08;行、列数#xff09;方法2、torch.where()函数3、使元素置零的操作 一、前言
上文介绍了PyTorch中改变张量(Tensor)形状的操作行、列数方法2、torch.where()函数3、使元素置零的操作 一、前言
上文介绍了PyTorch中改变张量(Tensor)形状的操作本文主要介绍张量切片操作。 二、获取张量中的元素
1、切片行、列数方法 ① # 引入库
import torch# 生成张量
A torch.arange(9).reshape(3, 3)
print(A)生成张量A tensor( [[0, 1, 2], [3, 4, 5], [6, 7, 8]]) 现截取A[0]: print(A[0]) # 截取最外围括号内第一个括号的内容,第一个维度第一行的内容结果为 tensor([0, 1, 2]) ② # 引入库
import torch# 生成张量
B torch.arange(9).reshape(1, 3, 3)
print(B)生成张量B tensor( [[[0, 1, 2], [3, 4, 5], [6, 7, 8]]]) 现截取B[0]: print(B[0]) # 截取最外围括号内第括号的内容,第一个维度第一行的内容结果为 tensor( [[0, 1, 2], [3, 4, 5], [6, 7, 8]]) ③根据上文张量B进行截取 print(B[0, 1:2, 1:2])结果为 tensor([[4]]) 注意此时[12]指第2个元素开头到第三个元素为至且不包含第三个元素。(属于包含左边不包含右边先行后列) print(B[0, 1:3, 1:2])结果为 tensor([[4], [7]]) print(B[0, -1, -2])结果为 tensor(7) print(B[0, -3:-1, -2]) # 第一个维度倒数第三行到倒数二行倒数第二列的元素结果为 tensor([1, 4]) ④通过比较关系输出元素 print(B[B3])结果为 tensor([3, 4, 5, 6, 7, 8]) 注意此处为获取元素组成1维张量 2、torch.where()函数 C -B
D torch.where(B4, B, C)
print(D)输出结果为 tensor( [[[ 0, -1, -2], [-3, -4, 5], [ 6, 7, 8]]]) 3、使元素置零的操作
函数描述torch.tril(A, diagonal0)将A以第一个元素为对角线的直线将上三角置零torch.triu(A, diagonal0)将A以第一个元素为对角线的直线将下三角置零torch.diag(A)保留对角线将其他元素全部置零,输入必须是二维张量
示例 torch.tril(): E1 torch.tril(B, diagonal0)
print(E1)输出结果为 tensor( [[[0, 0, 0], [3, 4, 0], [6, 7, 8]]]) E2 torch.tril(B, diagonal1)
print(E2)输出结果为 tensor( [[[0, 1, 0], [3, 4, 5], [6, 7, 8]]]) torch.triu(): F torch.triu(B, diagonal0)
print(F)输出结果为 tensor( [[[0, 1, 2], [0, 4, 5], [0, 0, 8]]]) torch.diag(): H torch.diag(A)
print(H)输出结果为 tensor([0, 4, 8])