在 PyTorch 中,我们经常需要处理张量的维度扩展操作。其中一种实现方式是使用 None 索引。本文将详细介绍如何使用 None 索引来扩展张量的维度,并提供相应的源代码示例。
1. 张量及其维度
在开始讨论维度扩展之前,首先了解一下张量及其维度的概念。
张量是 PyTorch 中最基本的数据结构,可以看作是一个多维数组。它可以是标量(0 维张量)、向量(1 维张量)、矩阵(2 维张量),甚至更高维的数组。
每个张量都有形状(shape),形状表示张量在各个维度上的大小。例如,形状为 (3, 4) 的张量表示一个 3 行 4 列的矩阵,形状为 (2, 3, 4) 的张量表示一个 2 维矩阵的集合,其中每个矩阵都是 3 行 4 列。
2. 使用 None 索引进行维度扩展
PyTorch 中使用 None 索引来扩展张量的维度非常简洁明了。当我们在某个维度位置使用 None 索引时,会在该位置插入一个新的维度,大小为 1。
下面是一个使用 None 索引进行维度扩展的示例:
import torch