PyTorch 是什么?
它是一个基于 Python 的科学计算包, 其主要是为了解决两类场景:
- NumPy 的替代品, 以使用 GPU 的强大加速功能
- 一个深度学习研究平台, 提供最大的灵活性和速度
Tensors(张量)
Tensors 与 NumPy 的 ndarrays 非常相似, 除此之外还可以在 GPU 上使用张量来加速计算.
from __future__ import print_function
import torch
构建一个 5x3 的矩阵, 未初始化的:
x = torch.Tensor(5, 3)
print(x)
构建一个随机初始化的矩阵:
x = torch.rand(5, 3)
print(x)
获得 size:
print(x.size())
操作
针对操作有许多语法. 在下面的例子中, 我们来看看加法运算.
加法: 语法 1
y = torch.rand(5, 3)
print(x + y)
加法: 语法 2
print(torch.add(x, y))
NumPy Bridge
将一个 Torch Tensor 转换为 NumPy 数组, 反之亦然.
Torch Tensor 和 NumPy 数组将会共享它们的实际的内存位置, 改变一个另一个也会跟着改变.