本站原创文章,转载请说明来自《老饼讲解-深度学习》www.bbbdata.com
在pytorch中使用tensor时,经常要拎出某行或某列,或者对两个tensor进行拼接、合并等操作
本文讲解如何根据索引来获取某行或某列,并展示如何用cat命令将pytroch的两个tensor进行合并
本节讲解如何根据索引取出tensor的某行或某列
01. tensor索引某行或某列
要取出tensor的某行或某列,可按如下方式操作
import torch
x = torch.tensor( [[1, 2],[3, 4]]) # 生成一个tensor数据x
x[0] # x的第0行
x[:,0] # x的第0列
x[:,-1] # x的最后一列
根据以上语句就可以取出tensor对象的某行或某列
本节讲解如何将两个tensor拼接
01. tensor的纵拼与横拼
tensor的拼接分为纵拼与横拼,要将两个tensor进行纵拼与横拼,可以用cat命令进行如下操作
import torch
x1 = torch.tensor( [[11, 12],[13, 14]]) # 生成一个tensor数据x1
x2 = torch.tensor( [[21, 22],[23, 24]]) # 生成一个tensor数据x2
y1 = torch.cat([x1, x2], dim=0) # 纵拼
y2 = torch.cat([x1, x2], dim=1) # 横拼
print('x1:',x1)
print('x2:',x2)
print('x1与x2纵拼:',y1)
print('x1与x2横拼:',y2)
运行结果如下:
x1: tensor([[11, 12],
[13, 14]])
x2: tensor([[21, 22],
[23, 24]])
x1与x2纵拼: tensor([[11, 12],
[13, 14],
[21, 22],
[23, 24]])
x1与x2横拼: tensor([[11, 12, 21, 22],
[13, 14, 23, 24]])
好了,以上就是怎么在pytorch中如何通过索引查询tensor以及如何拼接tensor~
End