1)验证成功
>>> import torch
>>> a=torch.ones(2,2)
>>> a
tensor([[1., 1.],
[1., 1.]])
>>>
2)查看pytorch版本
print ("hello pytorch {}".format(torch.__version__))
3)查看是否支持GPU
print (torch.cuda.is_available())
Tensor与Variable
–Variable:主要用于封装Tensor,进行自动求导
–data:被封装的Tensor
–grad:data的梯度
–grad_fn:创建Tensor的Function,是自动求导的关键
–requires_grad:指示是否需要梯度
–is_leaf:指示是否是叶子
从Pytorch0.4.0版本开始,Variable并入Tensor
–dtype: 张量的数据类型,三大类,共9种。torch.FloatTensor, torch.cuda.FloatTensor
–shape: 张量的形状。如:(64,3,224,224)
–decive: 所在设备
1)
torch.tensor(data, dtype=None, device=None, requires_grad=False, pin_memory=False)
2) 从numpy创建tensor : torch.from_numpy(ndarray)
注意:共享内容
import torch
import numpy as np
arr = np.array([[1, 2, 3], [4, 5, 6]])
t = torch.from_numpy(arr)
t[0, 0] = -1
print(arr)
print(t)
1)torch.zeros():按照size创建全0张量
torch.zeros(*size, out=None, dtype=None, layout=torch.strided, device=None, requires_grad=False)
2)torch.zeros_like()
torch.zeros_like(input, dtype=None, layout=None, device=None, requires_grad=False)
3)torch.ones()
4)torch.ones_like()
5)torch.full()
6)torch.full_like()
7)torch.arange(),创建等差数列,区间:[start, end)
t = torch.arange(start=0, end=100, step=1, out=None, dtype=None, layout=torch.strided, device=None, requires_grad=False)
8)torch.linspace(),创建均分数列,区间:[start, end]
注意:step是步长;steps是长度
t = torch.linspace(start=0, end=100, steps=5, out=None, dtype=None, layout=torch.strided, device=None, requires_grad=False)
9)torch.logspace(),创建对数均分的1维张量
注意:长度steps,底是base默认为10
t = torch.logspace(start=0, end=100, steps=5, base=10, out=None, dtype=None, layout=torch.strided, device=None,
requires_grad=False)
10)torch.eye(),创建单位对角矩阵(2维张量)
n: 矩阵行数; m:矩阵列
1)torch.normal():生成正太分布, 高斯分布
四种模式:mean和std各为标量和张量
torch.normal(mean, std, out=None)
torch.normal(mean, std, size, out=None)
2)torch.randn()
3) torch.randn_like(), 生成标准正态分布
注意:size指的是张量的形状
torch.randn(*size, out=None, dtype=None, layout=torch.strided, device=None, requires_grad=False)
4)torch.rand()
5) torch.rand_like() , 在区间[0, 1]上,生成均匀分布
6)torch.randint()
7) torch.randint_like(),在[low, high)生成整数均匀分布
8)torch.randperm(), 生成从0–n-1的随机排列
9)torch.bernoulli(),生成伯努利分布