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

来源:互联网 发布:开眼角增生知乎 编辑:程序博客网 时间:2024/05/14 18:05

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 34 5 6[torch.FloatTensor of size 2x3]
  • 一个空张量tensor可以通过规定其大小来构建
>>> torch.IntTensor(2, 4).zero_()0 0 0 00 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/]

原创粉丝点击