什么是张量?
张量可以看作是一个通用的多维数组,类似于 NumPy 中的 ndarray。张量是标量、向量和矩阵的更高维度的推广。张量的维度决定了它的“秩”(rank)。例如:
- 标量是 0 阶张量(如一个数字 3.14)。
- 向量是 1 阶张量(如 [1, 2, 3])。
- 矩阵是 2 阶张量(如 3x3 矩阵)。
- 三维张量可以用于图像数据,通常包含高度、宽度和颜色通道三个维度。
PyTorch 中的 Tensor 创建
在 PyTorch 中,可以通过多种方式创建张量。以下是一些常见的创建方法:
1. 通过数据直接创建
import torch
# 创建一个1维张量
tensor_1d = torch.tensor([1.0, 2.0, 3.0])
print(tensor_1d)
2. 创建全零或全一张
# 创建一个全零的张量
zeros_tensor = torch.zeros(3, 3)
print(zeros_tensor)
# 创建一个全一的张量
ones_tensor = torch.ones(2, 2)
print(ones_tensor)
3. 随机初始化的张量
# 创建一个3x3的随机张量
random_tensor = torch.rand(3, 3)
print(random_tensor)
张量的属性
每个张量都有一些属性来描述它的维度、数据类型等。