PyTorch basis

1. 使用PyTorch

import torch

 

2. Tensor生成

t1 = torch.tensor(1) 
t2 = torch.tensor(1.) #浮点
t3 = torch.tensor([1, 2]) #向量
t4 = torch.tensor([[1, 2], [3, 4]]) #二维
t5 = torch.tensor([[[1, 2], [3, 4]]]) #三维

 

3. Tensor的一些属性

t1.dtype #torch.int64
t2.dtype #torch.float32

t1.shape #torch.Size([])
t2.shape #torch.Size([])
t3.shape #torch.Size([2])
t4.shape #torch.Size([2, 2])
t5.shape #torch.Size([1, 2, 2])

 

4. Tenosr梯度信息

# 声明
x = torch.tensor(4.)
w = torch.tensor(3., requires_grad=True) #默认为False
b = torch.tensor(3., requires_grad=True)

y = w * x + b #tensor(15., grad_fn=<AddBackward0>)
y.backward() #通过backward()计算梯度,梯度存储在各tensor的grad属性中

x.grad #none
w.grad #4.
b.grad #1.

 

5. PyTorch tensor与Numpy互换

y = nm.array([1, 2]) #int32
z = torch.from_numpy(y) #torch.int32
z = z.numpy() #int32

 

posted @ 2019-03-05 16:21  roov  阅读(3)  评论(0编辑  收藏  举报