当前位置:   article > 正文

pytorch学习笔记之pytorch入门_pytorch生成随机矩阵

pytorch生成随机矩阵

Tensors(张量)

        tensors张量:张量的概念类似于Numpy中的ndarray的数据结构,最大的区别在于Tensor可以利用GPU的加速功能。我们使用pytorch的时候,常规步骤是先将torch引用进来

  1. from __future__ import print_function
  2. import torch

创建一个没有初始化的矩阵

x = torch.empty(5,3)

创建一个随机初始化的矩阵

  1. #符合均匀分布
  2. x = torch.rand(5,3)
  3. #符合标准正态分布
  4. x = torch.randn(5,3)

 对比有无初始化的矩阵,当声明一个未初始化的矩阵时,它本身不包含任何确切的值,当创建一个未初始化的矩阵时,分配给矩阵的内存中有什么数值就赋值给了这个矩阵,本质上时没有什么意义的数据。

创建一个全为零矩阵并指定数据元素的类型为long

x = torch.zeros(5,3,dtype=torch.long)

构造一个张量,直接使用数据[5.5,3]:

x = torch.tensor([5.5,3])

创建一个 tensor 基于已经存在的 tensor。

  1. #都一种方式创建一个size大小相同填充全为1的矩阵
  2. x = x.new_ones(5, 3, dtype=torch.double)
  3. print(x)
  4. #第二种方式,创建size相同随机数填充的矩阵
  5. x = torch.randn_like(x, dtype=torch.float)
  6. print(x)

获取他的维度信息,注意torch.size是一个元组,所以它支持左右的元组操作

  1. x=x.new_ones(5,3,dtype=torch.double)
  2. print(x)
  3. x.size()

矩阵的加法

  1. #加法方式1:
  2. y = torch.rand(5,3)
  3. print(x+y)
  4. #加法方式2:
  5. print(torch.add(x,y))
  6. #加法方式3:
  7. result = torch.empty(5,3) #创建一个(5,3)的空矩阵
  8. torch.add(x,y,out=result)
  9. print(result)
  10. #加法方式4
  11. y.add_(x)
  12. print(y)

有类似于Numpy的方式对张量进行操作

  1. print(x[:,1])#对第2列进行切片
  2. print(x[2,:])#对第3行进行切片操作

改变大小:如果你想改变一个 tensor 的大小或者形状,你可以使用 torch.view,注意操作需要保证数据元素的总数不变。

  1. x = torch.randn(4,4)
  2. y = x.view(16)
  3. z= x.view(-1,8)#-1代表的数值,是从其他维度推断出来的
  4. print(x.size(),y.size(),z.size())

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/羊村懒王/article/detail/356135
推荐阅读
相关标签
  

闽ICP备14008679号