--------教程摘自b站【不愧是计算机博士唐宇迪128集课程一套搞定了我大学4年没学会的PyTorch】PyTorch从入门到实战全套课程(附带课程学习资料 )_哔哩哔哩_bilibili
一、Pytorch的基本操作
import torch #导入torch
x = torch.empty(5, 3) #创建一个5行3列全为零的矩阵
x = torch.rand(5, 3)#创建一个5行3列值随机的矩阵输出值都是tensor格式(张量) 其可以是一维的即为向量 二维的即为矩阵 多维等等 。
x = torch.zeros(5, 3, dtype=torch.long) 初始化一个5*3的全为零的矩阵 数据类型为torch.long
dtype
:指定返回tensor中数据的类型,如果为None,使用默认值(一般为torch.float32可以使用 torch.set_default_tensor_type()
更改。)
索引
x[:, 1] #索引 取所有行的第二列元素
View
x = torch.randn(4, 4) #4*4的矩阵
y = x.view(16) #view将4*4拉长一行 16*1
z = x.view(-1, 8) #将4*4拉长 2*8 -1是有了8之后自动算出的2
print(x.size(), y.size(), z.size())
torch.Size([4, 4]) torch.Size([16]) torch.Size([2, 8])
与nump的协同操作
1.将tensor转换为numpy所支持的一个array格式
a = torch.ones(5) #数据为tensor格式
b = a.numpy() #将tensor转换为numpy所支持的一个array格式
b
array([1., 1., 1., 1., 1.], dtype=float32
2.将numpy所支持的一个array格式转换为tensor
import numpy as np
a = np.ones(5)
b = torch.from_numpy(a)
b
tensor([1., 1., 1., 1., 1.], dtype=torch.float64)