Pytorch学习笔记之 .squeeze()/.unsqueeze()

unsqueeze(arg)代表在arg位置新增一维度。这一函数的主要目的是当我们在使用深度学习进行运算时,我们需要的都是行列式,如果传入参数为一数组(0维Tensor),无法进行运算。

 

squeeze(arg)代表去掉arg这一维度。

# torch.mul(a,b) will return the element-wise multiplication
c = torch.mul(a,b)
# for example,
a = torch.tensor([[0., 1., 2.],
                  [0., 1., 2.],
                  [0., 1., 2.]])
b = torch.tensor([[0., 0., 0.],
                  [1., 1., 1.],
                  [2., 2., 2.]])

c = a.mul(b)
print(c)

tensor([[0., 0., 0.],
        [0., 1., 2.],
        [0., 2., 4.]])

# torch.mm(a,b) will return the matrix-multiplication

d = a.mm(b)
print(d)

tensor([[5., 5., 5.],
        [5., 5., 5.],
        [5., 5., 5.]])

a.addmm_(alpha, beta, b, c)

# a.addmm_(alpha, beta, b, c) will return:
#    a = alpha * a + beta * (b @ c)
#which equals to:
#    a = a.addmm(alpha, beta, b, c)

# for example:
a = torch.ones([3,3])
b = torch.tensor([[0., 1., 2.],
                  [0., 1., 2.],
                  [0., 1., 2.]])
c = torch.tensor([[0., 0., 0.],
                  [1., 1., 1.],
                  [2., 2., 2.]])

a.addmm_(1,-2, b, c)

#    tensor([[  1.,   1.,   1.],
#            [  1.,  -5., -11.],
#            [  1., -11., -23.]])
# note:
b.mm(c)
#    tensor([[ 0.,  0.,  0.],
#            [ 0.,  3.,  6.],
#            [ 0.,  6., 12.]])

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值