Pytorch学习笔记(一)tensor的基本操作

学习材料:Pytorch 入门到精通全教程 卷积神经网络 循环神经网络_哔哩哔哩_bilibili

1.创建tensor

(1)使用列表或者数组创建tensor

#使用列表为参数
torch.Tensor([[1,2,3],[4,5,6]])

#使用array作为参数
torch.Tensor(np.array([[1,2,3],[4,5,6]]))

(2)使用torch自带的api创建tensor

torch.ones([3,4])  #创建3行4列值为1的tensor

torch.zeros([3,4])  #创建3行4列值为0的tensor

torch.empty(3,4)  #创建3行4列的tensor,使用无意义的值填充

torch.rand([3,4])  #创建3行4列值为随机数的tensor,随机数范围[0,1)

2.tensor中的方法

(1)tensor转为numpy

t=torch.Tensor([[1,2,3],[4,5,6]])
t.numpy()

'''
array([[1., 2., 3.],
       [4., 5., 6.]], dtype=float32)
'''

(2)获取tensor的维度信息

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

t.size()
#torch.Size([2, 3])


t.size(0)  #获取某一维度的size
#2

(3)改变tensor形状

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

t.view(3,2)  #类似reshape函数
'''
tensor([[1., 2.],
        [3., 4.],
        [5., 6.]])
'''

t.view(1,-1)  #-1表示随着前面维度的变化而变化
'''
tensor([[1., 2., 3., 4., 5., 6.]])
'''

(4)转置

t=torch.Tensor(np.arange(24).reshape(2,3,4))

t
'''
tensor([[[ 0.,  1.,  2.,  3.],
         [ 4.,  5.,  6.,  7.],
         [ 8.,  9., 10., 11.]],

        [[12., 13., 14., 15.],
         [16., 17., 18., 19.],
         [20., 21., 22., 23.]]])
'''

#t.permute(1,0,2)
t.transpose(0,1)   #第1个维度和第2个维度的转置  
'''
tensor([[[ 0.,  1.,  2.,  3.],
         [12., 13., 14., 15.]],

        [[ 4.,  5.,  6.,  7.],
         [16., 17., 18., 19.]],

        [[ 8.,  9., 10., 11.],
         [20., 21., 22., 23.]]])
'''

(5)tensor相加

t1=torch.Tensor(np.arange(24).reshape(2,3,4))
t2=torch.Tensor(np.arange(24).reshape(2,3,4))

t1.add(t2)  #tensor相加
t1.add_(t2)  #相加后对t1就地修改

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值