axis=-1的理解

二维数组ba,三维数组cba,多维数组n...ba,他们的axis=-1,这个维度都是指向a


axis=-1 的通用性

无论 NumPy 数组有多少个维度,axis=-1 总是指向最后一个维度

数组类型 形状(Shape) 维度索引 axis=-1 指向
一维数组 (a,) axis=0axis=-1 a
二维数组 (b, a) axis=1axis=-1 a
三维数组 (c, b, a) axis=2axis=-1 a
多维数组 (n, ..., b, a) 最后一个索引 $\rightarrow$ axis=-1 a

为什么这个特性很重要?

在机器学习和深度学习中,这种设计非常方便,因为它让你的代码具有通用性健壮性

  1. 特征/类别维度: 通常情况下,我们都会将特征(Feature)类别(Class)放在数组的最后一个维度。
    • 例如,你的手写数字识别:输入数据是 (BatchSize, 784)784 是特征数。Softmax 输出是 (BatchSize, 10)10 是类别数。
  2. 代码复用: 当你对特征或类别进行操作(例如,Softmax 归一化、求最大值 np.argmax、求平均 np.mean)时,你只需要固定使用 axis=-1。这样,无论你输入的是单个样本(形状可能是 (784,))还是一个批次的样本(形状是 (N, 784)),你的函数都能正确执行,无需修改代码。
posted @ 2025-09-25 13:37  李大嘟嘟  阅读(12)  评论(0)    收藏  举报