Pytorch学习笔记(1)---Tensors

Tensors(张量)

  • 初始化矩阵
>>>import torch
>>>x = torch.Tensor(5, 3)  # 构造一个未初始化的5*3的矩阵
>>>y = torch.rand(5, 3)  # 构造一个随机初始化的矩阵
>>>x

 0.4700  0.7060  0.1975
 0.4361  0.3720  0.8543
 0.4791  0.7756  0.7938
 0.1661  0.8668  0.7498
 0.8329  0.4605  0.2987
[torch.FloatTensor of size 5x3]

 >>>y

 0.5045  0.5987  0.3238
 0.2657  0.9729  0.7695
 0.5533  0.5797  0.4607
 0.5230  0.1054  0.7818
 0.4092  0.2977  0.4846
[torch.FloatTensor of size 5x3]
  • 输出矩阵的大小
>>>x.size() #查看矩阵的大小
torch.Size([5, 3])
  • 两个同形矩阵的相加

语法一:x+y

 >>> x+y

 0.9745  1.3047  0.5214
 0.7018  1.3449  1.6238
 1.0325  1.3553  1.2545
 0.6891  0.9722  1.5315
 1.2421  0.7582  0.7833
[torch.FloatTensor of size 5x3]

语法二:torch.add(x,y)

>>> torch.add(x,y)

 0.9745  1.3047  0.5214
 0.7018  1.3449  1.6238
 1.0325  1.3553  1.2545
 0.6891  0.9722  1.5315
 1.2421  0.7582  0.7833
[torch.FloatTensor of size 5x3]
  • 输出Tensor
result = torch.Tensor(5, 3) # 语法一
torch.add(x, y, out=result) # 语法二,把运算结果储存在result上
>>>result

 0.9745  1.3047  0.5214
 0.7018  1.3449  1.6238
 1.0325  1.3553  1.2545
 0.6891  0.9722  1.5315
 1.2421  0.7582  0.7833
[torch.FloatTensor of size 5x3]
  • 注意:会改变tensor的函数操作会用一个下划线后缀来标示。比如,torch.FloatTensor.abs_()会在原地计算绝对值,并返回改变后的tensor,而tensor.FloatTensor.abs()将会在一个新的tensor中计算结果。
y.add_(x) # 将y与x相加
>>>y

 0.9745  1.3047  0.5214
 0.7018  1.3449  1.6238
 1.0325  1.3553  1.2545
 0.6891  0.9722  1.5315
 1.2421  0.7582  0.7833
[torch.FloatTensor of size 5x3]
  • 一个张量tensor可以从Python的list或序列构建
>>> torch.FloatTensor([[1, 2, 3], [4, 5, 6]])
1 2 3
4 5 6
[torch.FloatTensor of size 2x3]
  • 一个空张量tensor可以通过规定其大小来构建
>>> torch.IntTensor(2, 4).zero_()
0 0 0 0
0 0 0 0
[torch.IntTensor of size 2x4]
  • 可以用python的索引和切片来获取和修改一个张量tensor中的内容
>>> x = torch.FloatTensor([[1, 2, 3], [4, 5, 6]])
>>> print(x[1][2])
6.0
>>> x[0][1] = 8
>>> print(x)
 1 8 3
 4 5 6
[torch.FloatTensor of size 2x3]
>>>x[:,1]#部分截取,输出第二列的所有元素
 8
 5
[torch.FloatTensor of size 2]

参考文献:
[http://pytorch.org/tutorials/beginner/deep_learning_60min_blitz.html]
[http://pytorch-cn.readthedocs.io/zh/latest/package_references/Tensor/]

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值