老饼讲解-深度学习 机器学习 神经网络 深度学习
pytorch入门
1.pytorch学前准备
2.pytorch的基础操作
3.pytorch的梯度计算
4.pytorch的数据
5.pytorch-小试牛刀

【操作】pytorch-tensor的拼接与索引

作者 : 老饼 发表日期 : 2023-07-28 10:53:35 更新日期 : 2024-01-19 08:09:36
本站原创文章,转载请说明来自《老饼讲解-深度学习》www.bbbdata.com



在pytorch中使用tensor时,经常要拎出某行或某列,或者对两个tensor进行拼接、合并等操作

本文讲解如何根据索引来获取某行或某列,并展示如何用cat命令将pytroch的两个tensor进行合并




一、pytorch-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对象的某行或某列





二、pytorch-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 





联系老饼