【PyTorch】PyTorch中张量(Tensor)切片操作

PyTorch深度学习总结

第三章 PyTorch中张量(Tensor)切片操作


文章目录


一、前言

上文介绍了PyTorch中改变张量(Tensor)形状的操作,本文主要介绍张量切片操作。


二、获取张量中的元素

1、切片(行、列数)方法

python 复制代码
# 引入库
import torch

# 生成张量
A = torch.arange(9).reshape(3, 3)
print(A)

生成张量A:

tensor(

\[0, 1, 2,

3, 4, 5,

6, 7, 8])


现截取A0:

python 复制代码
print(A[0]) # 截取最外围括号内第一个括号的内容,第一个维度第一行的内容

结果为:

tensor(0, 1, 2)

python 复制代码
# 引入库
import torch

# 生成张量
B = torch.arange(9).reshape(1, 3, 3)
print(B)

生成张量B:

tensor(

\[\[0, 1, 2,

3, 4, 5,

6, 7, 8]])


现截取B0:

python 复制代码
print(B[0]) # 截取最外围括号内第括号的内容,第一个维度第一行的内容

结果为:

tensor(

\[0, 1, 2,

3, 4, 5,

6, 7, 8])
③根据上文张量B进行截取

python 复制代码
print(B[0, 1:2, 1:2])

结果为:

tensor(\[4])
注意此时[1:2]指第2个元素开头到第三个元素为至,且不包含第三个元素。(属于包含左边不包含右边,先行后列)


python 复制代码
print(B[0, 1:3, 1:2])

结果为:

tensor(\[4, 7])


python 复制代码
print(B[0, -1, -2])

结果为:

tensor(7)


python 复制代码
print(B[0, -3:-1, -2]) # 第一个维度,倒数第三行到倒数二行,倒数第二列的元素

结果为:

tensor(1, 4)
④通过比较关系输出元素

python 复制代码
print(B[B>=3])

结果为:

tensor(3, 4, 5, 6, 7, 8)
注意此处为获取元素组成1维张量

2、torch.where()函数

python 复制代码
C = -B
D = torch.where(B>4, B, C)
print(D)

输出结果为:

tensor(

\[\[ 0, -1, -2,

-3, -4, 5,

6, 7, 8]])

3、使元素置零的操作

函数 描述
torch.tril(A, diagonal=0) 将A以第一个元素为对角线的直线,将上三角置零
torch.triu(A, diagonal=0) 将A以第一个元素为对角线的直线,将下三角置零
torch.diag(A) 保留对角线,将其他元素全部置零,输入必须是二维张量

示例:

torch.tril():

python 复制代码
E1 = torch.tril(B, diagonal=0)
print(E1)

输出结果为:

tensor(

\[\[0, 0, 0,

3, 4, 0,

6, 7, 8]])


python 复制代码
E2 = torch.tril(B, diagonal=1)
print(E2)

输出结果为:

tensor(

\[\[0, 1, 0,

3, 4, 5,

6, 7, 8]])
torch.triu():

python 复制代码
F = torch.triu(B, diagonal=0)
print(F)

输出结果为:

tensor(

\[\[0, 1, 2,

0, 4, 5,

0, 0, 8]])
torch.diag():

python 复制代码
H = torch.diag(A)
print(H)

输出结果为:

tensor(0, 4, 8)


相关推荐
承渊政道1 分钟前
不只会打字回复:Open-LLM-VTuber接入大模型,让AI能听、能说、还能看到屏幕
人工智能·语音识别·智能问答·cpolar·open-llm-vtuber·多模态 ai 助手
Jazz_z8 分钟前
使用 Python 合并与取消合并 Excel 单元格
开发语言·python·excel
Lenyiin9 分钟前
第6篇_Python高级语法与标准库精髓:从会用到达精通
java·python·html
淼澄研学10 分钟前
Debian通过AI决议:合规解析与Ollama本地部署Llama3实操
运维·人工智能·debian
ZGG00315 分钟前
真题拆解 05:ReAct 还是 Plan-and-Execute——规划范式怎么选
python·agent·react
邀星月为媒17 分钟前
从零打造一个属于自己的 AI Agent:Core Hive Agent 开源项目解析
人工智能·hive·开源
一次旅行20 分钟前
2026‑09‑01 AI产业深度解读|AI安全体系化升级、算力转租模式兴起、多模态模型持续开源
人工智能·安全·开源
艺杯羹22 分钟前
双轨大模型路由实战:从端侧Ollama边缘推理到云端大模型容灾降级架构深度拆解
开发语言·人工智能·ai·架构·php
CIO4022 分钟前
AI未来--IT人面试36计
人工智能·面试·职场和发展