什么是pytorch?
PyTorch即 Torch 的 Python 版本。Torch 是由 Facebook 发布的深度学习框架,因支持动态定义计算图,相比于 Tensorflow 使用起来更为灵活方便,特别适合中小型机器学习项目和深度学习初学者。但因为 Torch 的开发语言是Lua,导致它在国内一直很小众。所以,在千呼万唤下,PyTorch应运而生!PyTorch 继承了 Troch 的灵活特性,又使用广为流行的 Python 作为开发语言,所以一经推出就广受欢迎!
PyTorch是基于python的科学计算包,与numpy类似,但又能利用GPU来加速计算。
- Tensors
创建一个5×3未初始化的矩阵
import torch
x = torch.Tensor(5,3)
print (x)
结果:
1.00000e-37 *
8.4745 0.0000 0.0000
0.0000 0.0000 0.0000
0.0000 0.0000 0.0000
0.0000 0.0000 0.0000
0.0000 0.0000 0.0000
[torch.FloatTensor of size 5x3]
创建一个5×3随机初始化的矩阵
import torch
x = torch.rand(5,3)
print (x)
--------------------------------
0.8031 0.4576 0.2146
0.0219 0.8962 0.9953
0.6851 0.8307 0.0741
0.4235 0.4125 0.7773
0.4069 0.5352 0.9514
[torch.FloatTensor of size 5x3]
获取其大小size
print (x.size())
输出torch.size([5,3])
- operations
对于torch的运算操作有多种语法,比如来看Add操作
1.直接相加
y = torch.rand(5, 3)
print(x + y)
2.使用add()加法函数
print(torch.add(x, y))
3 .给出一个输出张量
result = torch.Tensor(5, 3)
torch.add(x, y, out=result)
print(result)
4.替换(in-place)
# adds x to y
y.add_(x)
print(y)