【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)


相关推荐
benchmark_cc2 小时前
A 股、港股、美股如何建立统一的标的主数据格式?
开发语言·python·数据分析·pandas·量化交易·股票数据·quantdash
七牛云行业应用3 小时前
DeepSeek Super-agent 与 Grok Bot:开源 Agent 架构和聊天助手有何区别
人工智能·ai·架构·ai编程
维克兜率天3 小时前
【维克】趋势型CTA:期货市场的“追涨杀跌“
人工智能·python
u1301303 小时前
GitHub 热榜项目:日榜(2026-11-03)
人工智能·github
天远Date Lab3 小时前
零信任架构实战:基于天远租凭分期报告构建自动化汽车以租代购免押风控网关
网络·人工智能·架构·自动化
翊众建站3 小时前
用 JSON-LD 给企业官网做结构化数据:LocalBusiness 与 FAQPage 实践笔记
人工智能·搜索引擎·json
取名真是4 小时前
Python 算法知识点从基础到进阶
开发语言·python·算法
梦想不只是梦与想4 小时前
PyTorch、CPU、GPU、CUDA
人工智能·pytorch·python·深度学习·机器学习·cuda
数字融合4 小时前
透明化视频孪生危化安全管控解决方案
人工智能·python·安全
冬奇Lab4 小时前
一天一个开源项目(第253篇):dsh-superagent —— DeepSeek 开源的“主动式”编程智能体原型,核心原则是少占人的注意力
人工智能·开源·资讯