Pytorch学习笔记 2- 张量的索引与切片

张量的索引与切片

索引方式

#[B,C,H,W]
a = torch.tensor([ [[[ 1, 2, 3],[ 4, 5, 6],[ 7, 8, 9]],
                    [[10,11,12],[13,14,15],[16,17,18]],
                    [[19,20,21],[22,23,24],[25,26,27]]],

                   [[[28,29,30],[31,32,33],[34,35,36]],
                    [[37,38,39],[40,41,42],[43,44,45]],
                    [[46,47,48],[49,50,51],[52,53,54]]] ])[B,C,H,W]
a.shape
#out:
torch.Size([2, 3, 3, 3])
a[0]   #  第一个维度的所有值
#out:
tensor([[[ 1,  2,  3],
         [ 4,  5,  6],
         [ 7,  8,  9]],

        [[10, 11, 12],
         [13, 14, 15],
         [16, 17, 18]],

        [[19, 20, 21],
         [22, 23, 24],
         [25, 26, 27]]])
#
a[0].shape
#out:

a[0].shape
torch.Size([3, 3, 3])

#同理a[0,1],就是第一个维度上的第2个维度
a[0,1]
#out:
tensor([[10, 11, 12],
        [13, 14, 15],
        [16, 17, 18]])
#a[0,1,2,2]
a[0,1,2,2]
tensor(18)

切片

#看成2张图片,3通道,3x3 大小
#在第一个维度上,0 到 1,不包含1,那就只有第一张图片
a[:1]
#out:
tensor([[[[ 1,  2,  3],
          [ 4,  5,  6],
          [ 7,  8,  9]],

         [[10, 11, 12],
          [13, 14, 15],
          [16, 17, 18]],

         [[19, 20, 21],
          [22, 23, 24],
          [25, 26, 27]]]])
#
a[:1,:1,:1,:1]
tensor([[[[1]]]])

#
a[1:2,-1:,:,:]
#out:
tensor([[[[46, 47, 48],
          [49, 50, 51],
          [52, 53, 54]]]])
## 如果两个冒号,隔行采样  start:end:step
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

FlyDremever

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值