PyTorch 中如何创建 Tensor?

· 约 4 分钟读完 · 第 9 / 125 章

推荐答案

在 PyTorch 中,可以通过多种方式创建 Tensor。以下是几种常见的方法:

  1. 从 Python 列表或 NumPy 数组创建 Tensor:

  2. 创建特定形状的 Tensor:

  3. 创建与现有 Tensor 相同形状的 Tensor:

  4. 创建特定范围的 Tensor:

  5. 创建单位矩阵:

本题详细解读

在 PyTorch 中,Tensor 是最基本的数据结构,类似于 NumPy 中的 ndarray,但具有 GPU 加速功能。创建 Tensor 的方式非常灵活,可以根据不同的需求选择合适的方法。

  • 从 Python 列表或 NumPy 数组创建 Tensor:这是最直接的方式,适用于将已有的数据转换为 Tensor。torch.tensor() 函数可以接受 Python 列表或 NumPy 数组作为输入,并返回一个 Tensor。torch.from_numpy() 则专门用于将 NumPy 数组转换为 Tensor。

  • 创建特定形状的 Tensor:torch.zeros()、torch.ones() 和 torch.rand() 是常用的函数,分别用于创建全零、全一和随机值的 Tensor。这些函数接受一个形状参数,指定 Tensor 的维度。

  • 创建与现有 Tensor 相同形状的 Tensor:torch.zeros_like() 和 torch.ones_like() 可以创建与给定 Tensor 形状相同的全零或全一 Tensor。这在需要保持形状一致性的场景中非常有用。

  • 创建特定范围的 Tensor:torch.arange() 和 torch.linspace() 用于创建具有特定范围的 Tensor。torch.arange() 类似于 Python 的 range() 函数,而 torch.linspace() 则生成等间隔的值。

  • 创建单位矩阵:torch.eye() 用于创建单位矩阵,即对角线为 1,其余为 0 的方阵。

通过这些方法,可以灵活地创建各种形状和类型的 Tensor,满足不同的计算需求。