动手学Pytorch-打卡1

pytorch基本数据类型

  • 32位浮点型:torch.FloatTensor。pyorch.Tensor()默认的就是这种类型。
  • 64位整型:torch.LongTensor。
  • 32位整型:torch.IntTensor。
  • 16位整型:torch.ShortTensor。
  • 64位浮点型:torch.DoubleTensor。

view用法

相当于numpy中resize()的功能,但是用法可能不太一样
把原先tensor中的数据按照行优先的顺序排成一个一维的数据
(这里应该是因为要求地址是连续存储的),然后按照参数组合成其他维度的tensor。
例1:

a=torch.Tensor([[[1,2,3],[4,5,6]]])
b=torch.Tensor([1,2,3,4,5,6])

print(a.view(1,6))
print(b.view(1,6))

输出:

tensor([[1., 2., 3., 4., 5., 6.]]) 

例2:

a=torch.Tensor([[[1,2,3],[4,5,6]]])
print(a.view(3,2))  # a.view(-1,2)

相当于就是从1,2,3,4,5,6顺序的拿数组来填充需要的形状,输出:

tensor([[1., 2.],
        [3., 4.],
        [5., 6.]])

gather用法

沿给定轴 dim ,将输入索引张量 index 指定位置的值进行聚合
例:

a1 = torch.randint(0, 30, (2, 3, 5))
print(a1)
print(a1.shape)
index = torch.LongTensor([[[0,1,2,0,2],
                          [0,0,0,0,0],
                          [1,1,1,1,1]],
                        [[1,2,2,2,2],
                         [0,0,0,0,0],
                         [2,2,2,2,2]]])
print(a1.size()==index.size())
b1 = a1.gather(1,index) # dim=1时,沿着列的方向选择元素
print(b1)

输出:

tensor([[[20, 19,  9,  4,  3],
         [ 6, 29, 24,  3,  9],
         [14, 10, 11, 22,  1]],

        [[ 7, 10,  3,  1,  2],
         [ 2,  2, 29, 11, 16],
         [19, 16, 12, 29, 22]]])
torch.Size([2, 3, 5])
True
tensor([[[20, 29, 11,  4,  1],
         [20, 19,  9,  4,  3],
         [ 6, 29, 24,  3,  9]],

        [[ 2, 16, 12, 29, 22],
         [ 7, 10,  3,  1,  2],
         [19, 16, 12, 29, 22]]])
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值