pytorch学习笔记之pytorch入门

Tensors(张量)

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

from __future__ import print_function
import torch

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

x = torch.empty(5,3)

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

#符合均匀分布
x = torch.rand(5,3)
#符合标准正态分布
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。

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

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

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

矩阵的加法

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

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

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

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

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

你可能感兴趣的:(pytorch,学习)