pytorch tensor 张量常用方法介绍
1. view( )函数
PyTorch 中的view( )函数相当于numpy中的resize( )函数,都是用来重构(或者调整)张量维度的,用法稍有不同。
1 2 3 4 5 6 7 | >>> import torch >>> re = torch.tensor([ 1 , 2 , 3 , 4 , 5 , 6 ]) >>> result = re.view( 3 , 2 ) >>> result tensor([[ 1 , 2 ], [ 3 , 4 ], [ 5 , 6 ]]) |
i.e.
view(3, 2)将张量重构成了3x2维的张量。
view(-1)
1 2 3 4 5 6 7 | >>> import torch >>> re = torch.tensor([[ 1 , 2 ], [ 3 , 4 ], [ 5 , 6 ]]) >>> result = re.view( - 1 ) >>> result tensor([ 1 , 2 , 3 , 4 , 5 , 6 ]) |
i.e.
view(-1)将张量重构成了1维的张量。
view(-1, 参数b)
1 2 3 4 5 6 7 | >>> import torch >>> re = torch.tensor([ 1 , 2 , 3 , 4 , 5 , 6 ]) >>> result = re.view( - 1 , 2 ) >>> result tensor([[ 1 , 2 ], [ 3 , 4 ], [ 5 , 6 ]]) |
i.e.
torch.view(-1, 参数b),则表示在参数a未知,参数b已知的情况下自动补齐行向量长度,在这个例子中b=3,re总共含有6个元素,则a=6/2=3。
2. squeeze()函数
squeeze()函数的功能是维度压缩。返回一个tensor(张量),其中 input 中大小为1的所有维都已删除。
举个例子:如果 input 的形状为 (A×1×B×C×1×D),那么返回的tensor的形状则为 (A×B×C×D)
当给定 dim 时,那么只在给定的维度(dimension)上进行压缩操作。
3. no_grad()函数
torch.no_grad()
一般用于神经网络的推理阶段, 表示张量的计算过程中无需计算梯度
4. max()函数
torch.max(input, dim, max=None, max_indices=None) -> (Tensor, LongTensor)
返回输入张量给定维度上每行的最大值,并同时返回每个最大值的位置索引。
5. eq()函数
torch.eq(input, other, *, out=None)
Parameters(参数):
input :必须是一个Tensor,该张量用于比较
other :可以是一个张量Tensor,也可以是一个值value
return(返回值):返回一个Boolean类型的张量,对两个张量Tensor进行逐元素的比较,若相同位置的两个元素相同,则返回True;若不同,返回False。
1 2 3 4 5 6 | x = torch.tensor([[ 1 , 2 ], [ 3 , 4 ]]) y = torch.tensor([[ 1 , 1 ], [ 3 , 3 ]]) print (x) print (y) out = torch.eq(x, y) print (out) |
一般用法:
1 | acc + = torch.eq(predict_y, val_labels). sum ().item() |
6. item()函数
.item()
方法返回张量元素的值
注:张量中只有一个元素才能调用该方法,多个元素会报错:
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律